It really comes down to what your setting is like. For example, I tend to model towns and cities on those from where I'm from, where even a city of 20,000 people barely has anything. You could rule it as being very different.
I'd personally say a city of 10,000 people has a "high end" weapons and armors shop, but only a mid-range magic shop.
What kind of feel are you trying to achieve with your games? (High magic, low magic, rustic, etc etc)