A music shop is better because you can try different phones out and see what you prefer the sound of
I would always buy decent headphones, very important and if you get a good pair listening to good music on them is a joy
I bought a piar of Sennheiser HD25's about a year ago and yeah, they cost me like £140 or something but they are the best investment I have ever made, they make music sound amazing, plus they're small enough to be warn out and about if you don't mind that, also can make djing easier because of the clarity
I don't think you could ever get a better all round pair of headphones for less than £200