Headphones have several drawbacks that speakers do not.
1) They are able to be louder. You can't have a party and expect the music to come from headphones.
2) Generally, speakers have crisper sound. Speakers are more expensive, and the price tag isn't just for show. The quality increases with the price.
3) You can't listen to music with friends on headphones. I have a brother who I love to listen to music and sing along with. We have tried using headphones (the Ipod ones that split apart so you can share 1 ear bud with each person.) However, by doing that, the clarity of the song was greatly compromised. So whenever I'm listening to music with someone, I always listen to it through my speaker system.

I will not, however, say that speakers are universally better then headphones. It's like comparing oranges to apples. Headphones are used mainly for private and on the go listening. Speakers are used for more social and party listening. So when given the option of which of the two I would prefer as a general rule, I will go with speakers.