I think you are all wrong.  IDs versus Class is not a question of specificity; they have completely different logical uses.
IDs should be used to identify specific parts of a page:  the header, the nav bar, the main article, author attribution, footer.
Classes should be used to apply styles to the page.  Let's say you have a general magazine site.  Every page on the site is going to have the same elements--header, nav, main article, sidebar, footer.  But your magazine has different sections--economics, sports, entertainment.  You want the three sections to have different looks--economics conservative and square, sports action-y, entertainment bright and young.
You use classes for that.  You don't want to have to make multiple IDs--#economics-article and #sports-article and #entertainment-article.  That doesn't make sense.  Rather, you would define three classes, .economics, sports, and .entertainment, then define the #nav, #article, and #footer ids for each.
Product 1
Product 2
`code` This to allow general styling of all products but also allow individual styling for specific products? – Tamer Ziady Mar 28 '15 at 19:17