I ran into a similar problem when I first started with the company I am with now. At the time we were not considering how it effected the search engines, rather we split into a "Network" of sites for the end users. We found people liked niche sites better. You move through it faster, and find what you want faster.
Over the past year we have made vast improvements in how we do this and taking SE's into consideration. The best way we found so far was the following:
1) Each site has it's own distinctive link page featuring links with descriptions for sites that are relevant to the content of that particular site. However, we list our sites - and clear state such - at the top of the list in a special section.
2) We never offer products by themselves on multiple sites. We do offer different bundling options from site to site. But, this is only done if for some reason a certain product can fit both categories.
3) On the main site for the company have links to various categories of products we sell. If that category was large enough that we made another site just for it we give an explanation that that category has it's own site and why. Then we offer a small site map of the other site just below.
So far this has worked well and we have not been penalized. Most importantly the users seem to really like it. They can shop more easily in a specialized site than in an extremely large site.
Now as far as getting better SE placement out of this system. I don't think it makes a big difference though. You probably do gain a point or two for having a keyword specific domain, but that is about it.
It is easier to "theme" a niche site and you can offer a more personalized experiance relative to that product category. But, you do run into maintaince problems and you spread your inbound links out. Instead of having 100 inbound links to one site, you would have 100 links spread say 10 sites. The fight for links can be a little more important with niche sites.