Well, it's not always a matter of code, sometimes is a matter of links, internal functionality and your ability to hadle code (you dont't have to be a coder).
I will give an example: everybody waits for a mariage between VM and CB, BUT this mariage is already done because of Joomla. So in the CB user profile you can just create a new tab exactly like CB tabs are, but there you just paste the code from VM user details. So it's basicaly it.
About our particular example here: guitars, excelent! (I would love to have a nice new classic guitar) SoundBs, if you want to use search according to parameters, you have 2 posibilities:
1. create a parameter for each detail of guitar, exactly what fits your needs: manufacturer, state, speciallity. With this feature you don't really have to have multiple categories, but it is just a bit more work: creating product types, creating atributes, asigning your products to product type (I recommand you to assign a single product type to each product, because you will have a lot of SEF and maybe search disfunctionality like I heard in sh404SEF forum). So
a single product type can describe GENERALLY with all his atributes all your guitars.
OR
2. You can create product types for more categories of guitars (electric, classic, flamenco, you know...) and
a single product type for each category with more DETAILED parameters like: size, colour, number of strings, type of strings, oldieness of guitar, state of guitar (new, used) and many more.
So using product types gives you these 2 posibillities: create a single product type that can describe GENERALY with its atributes (not so many-an easier job) all your guitars in the shop, and the second posibility, to create more product types for more categories (a single product type for each category) with many more parameters (a harder job-but the consumer has the feeling he cand find easily exactly what he needs) that describe products EXACTLY.
So in this matter, you can decide what is exactly best for you, SoundBs. This could be a perfect solution for you, but you have to know before implementing product type feature: does your cliens know exactly what they are looking for? (like buying a car or a computer?) or they think "oh what a nice texture has that guitar!"
@Akerman.
I thought of your idea to create more categories with a very deep tree category structure, but is not efficient because of 2 reasons:
-SEF aplications will fail to handle very deep category structure
-consumer is very likely rushed and has no time to search in a 2 pages list of categories what he needs, and this is the most important.
The solution that 'korb' suggests, gives the possibility to add extra fields with different attributes to a product, which is very useful. However I suspect you want more information about the manufacturer to show, when clicking the link...
Well product type is not meant to give the possibility to add "extra fields" (it only adds extra fileds in the database with the only purpose to parameter search), because in product description you can realy write stories add images and create tables, or tabs, or product scrollers. Product type is only for filtering products by their parameters' values and these parameters are shown in product flypage in the idea to show the values that are different than other products values, otherwise you can choose not to show these parameters in product flypage and only use the power of the search according to parameters.
So I hope this HELPS.

At this moment, I think product types feature is in a very good road. With some contributions of so much VM users it could be a strength to consider.
Ciao