Economics drives my purchasing habits, though it is guided somewhat by ideas of propriety and supporting the little guy.
WalMart is (fortunately) not in my area, so I am not tempted to buy things there. Even if they were here, I certainly wouldn't buy from them anyway.
The local FFL has a good selection, is generally busy, has high prices ($30/pound of IMR4064!), but is quite knowledgeable. The shop also has a gunsmith who knows his stuff. Interstate transfers are not conducted, and face-to-face transfers are expensive.
The second closest FFL charges 200% on ammo. I can get a thousand rounds of Wolf 7.62x39mm online for $88 plus shipping (say $100 total). The shop wants $220+ for the same case. Maybe if I was buying one box of deer ammo per year that'd be ok, but with the amount I shoot (and reload) that's simply not economically feasible. Interstate transfers are priced excessively high so they don't have to deal with it. They order guns easily and on-demand.
The third closest FFL charges reasonable rates on ammo (but doesn't justify the 30 minute drive). No sales of bullets for reloading (there's so many, they don't bother stocking them), but they have great prices on powder and primers ($17.50 for 1,000 CCI 200 LR primers, $22 for IMR 4064). No smith, moderate selection, great prices on guns. Interstate transfers are cheap, they will order just about anything you want. They stood up to local city anti-gun pressure to open their new store (they moved from a neighboring city), attend all the local gun shows, the folks who run it frequently go to the local range with me, etc.
Guess who gets my business? The third shop, and occasionally the first if there's something I don't have but need (their price on XM193 wasn't that bad, and they had cases in stock).
Ammo is purchased almost entirely online. I'm sorry, I may spend a few extra dollars at local gun shops if they have a good deal and its not too much more than online prices, but I refuse to pay 200% the price I can get it for online, espescially when buying in bulk. I also try to buy from smaller ammo companies like Miwall, rather than supporting corporate giants like Federal, Winchester, etc., though I do buy quite a bit of the mega-corp ammo anyway.