Hi Chris,
Internal linking is an important but not over beneficial part of optimising your site.
Typically a good navigation, possibly a meaningful footer (with links) and breadcrumbs can be helpful for a users navigation. These approaches account for most of the internal linking on a site.
When running with these approaches, I would always recommend text links (avoid images where possible) and ensure above all it gives the user the best experience.
For your example above, writing Pink widgets | Blue widgets | Green widgets in the nav might take up to much real estate and look a little sloppy, try a drop down with the main category 'widgets' and run the colours as sub categories. Having a site structure www.example.com/widgets/blue will help to define widgets are an important concept on your site while also highlighting that you have Pink widgets | Blue widgets | Green widgets. It will be assumed that for the product pages in this example, engaging unique content is available.
That said, if you see the need I would also encourage you to have internal link within your content, WHERE RELEVANT. I have seen to many sites, simply go through their content and pick out the popular keywords linking all over the place. If it helps the user (possibly by defining an unusual term OR refering to a service OR product described on a different page) it's worth doing.
One of my pet hates is finding a keyword on page that links to itself (same URL) because it is a keyword that is being targeted. As a user it's frustrating and personally I immediately leave sites running this practice.
You don't have to continually link to your desired page with the same keywords, in fact it's discouraged. Google are becoming increasingly better at understanding intent, therefore do what is best for your visitors and you will ensure that your site enjoys longevity in search rankings...
Best of success,
Dan