When I lived in Virginia back in the 1990s, I used to buy from a few local shops in the area, at train shows that were usually scheduled every three months, and through mail order places like Island Trains, Charles Ro Supply Co., and Grzyboski's Train Store.
In 2001 when the USAF stationed me at Keesler AFB in Mississippi, that all changed. There are rarely any train shows in this area. I heard of two in the 18 years I've lived here, but I was unable to attend due to prior commitments---a wedding and a concert.
There were two train shops nearby that I knew of, but their prices were full retail plus nearly always. I don't remember a time when either one had a sale with more than 10% off of an item I ever wanted to buy. One of the shops was run by an elderly couple. It was actually a hobby shop that sold trains, RC stuff, plastic models, die-cast vehicles, & modeling supplies. I took a K-Line engine to them for repairs once, but they returned it telling me they were unable to repair/replace the circuit board. When they retired a few years ago, a guy who ran a Vape shop next door bought them out. He knocked down the wall between both shops to combine them. He vapes in the shop whenever he wants, so the scent of strawberry smoke---that must be his favorite flavor---hangs in the air all day long. I can't take it; it makes me feel sick. When he first started running the hobby shop, I had a conversation with him. He told me he didn't have any hobbies, but he figured he could make money selling the stuff. I like to build and paint models in addition to being a train guy. Needless to say he didn't know anything about both hobbies. I went back once for an Atlas HO bumper. He didn't have any, and I've never gone back since.
I've bought a few trains from OGR forum members and from ebay members too. There were a couple of times I bought stuff through Craig's List, but that's it. I've continued to buy from Charles Ro Supply Co. and Grzyboski's Train Store, but Island Trains has gone out of business.
I tend to try to buy mainly new old stock. Why? I'd rather pay $15-$30 for a NOS Lionel gondola vs. $35 & up for a brand new Lionel one. I can't remember the last time I bought an item produced the very same year.