Internal linking can provide a lot of useful information to both user and search engine, but it has to be used properly rather than just for self promotion..
When linking within my site I think, does this link belong here? If a user clicks here will it bring them somewhere which will provide them with information relevant to what they are currently reading about?
I also think does this anchor text and surrounding copy accurately describe where this link is going? Does it tell the user (and thus the search engines) what the page they are about to head to is about?
This method works for me, it works for my visitors and for people looking for good info (people who would link to you).
So that being said I find that a good internal structure provides a few things
1. accurate hierarchical structure of your site
2. proper thematic structure ( a user can stay within what he/she is looking for by following the links on the page(s)
3. Each page should be no more than two clicks away from home, and home should always be available on each page (usability factor)
4. Each content link's anchor and/or surrounding text should accurately describe where it is going.
5. A global navigation should be included on every page
6. If you have a big site, or a site which goes deeper than two links breadcrumb navigation should be added