Which is better depends on a number of factors, including the source material, your budget, etc. I've found that while I prefer listening to speakers as it causes me less fatigue, a high quality set of headphones will produce more nuanced highs and mids than a comparably high quality set of speakers/drivers. On the other hand, if you listen to a lot of bass heavy material (and want the full impact), you'll never get it with even the most expensive headphones; speakers are your only option.
It depends on what you're trying to accomplish, if you want to listen to music really loudly I would suggest speakers. But if you want to listen to music and drown out any outside noise, I would suggest using headphones.
I also think it somewhat has to do with the folks around you! If you want to be able to listen to music without bothering others, headphones are the way to go. If you're trying to cultivate a shared atmosphere, speakers. Otherwise, it depends on the items listed by TonyG.