There are two issues here:
1. Links really need to point to the most relevant page, where possible. There's little point trying to capture traffic through SEO if this converts poorly. I think of links as like PPC - try and link to the most relevant page to maximise traffic benefits not simply through volume but also conversion rates.
On larger websites it's neither possible nor ideal to link to every individual product, but links can still be targeted at relevant category pages - ie, if there are different types of blue widgets, link to the blue widgets section regardless.
2. Secondly, Google does have various link filters, some of which only come into effect when certain signals come into play. What those are exactly will remain subject for debate. However, having too many links just to the homepage has long been seen as a danger signal in link building as something Google could easily recognise algorithmically and devalue accordingly. In other words, your competitor with all the homepage links could be just one update away from losing much of their visibility.
Overall, it makes best sense for users to find as close to the most relevant page for their query as possible, as well as ensuring your website's link profile shows a reasonable degree of variation in link anchors, link targets, and rate of acquisition.
Hope that helps.