Two reasons:
A lot of people have done extensive studying, and have determined that ID selectors are slightly slower than class. However, the difference is so marginal, it's almost not worth mentioning. If you use ID's in your CSS you won't notice a difference. However...
This is the main reason people(like myself) don't use ID's. If you would like more info about this: Mozilla Developer Network
But basically ID's get a higher priority than anything else. So overwriting can become a huge pain, this is especially annoying in larger sites.