I normally buy 9x19 and .22LR from local shops when it is on sale ....
Everything else I buy online. When the local dealer wants $20-$24 for one box of S&B .32acp and I can get it for $12 from Natchez, I buy 10 boxes from Natchez. When locals want $14-$16 for a $9 box of Brown Bear 9x18, I buy it online! When they want $24 for a box of .25acp....(YIKES!)....I buy it online for $14.
NOTE: I buy most of my guns from my two favorite local shops though. They still get plenty of cash from me.
I usually order from Natchez, Coles, Sportsman's Guide, Graf & Sons, and Cabela's. Shipping charges range from $5 to $13 on the average.....I also make use of any free shipping or discount code promotions. As was said, shipping is usually a wash over local sales tax.
I have also learned the fine art of back-order to keep the flow going. Cabela's seems to have the best-managed back-order system. They only charge you as the boxes are shipped and split the total order's shipping charge among the various actual shipments. That's how I keep .380acp coming in regularly now.
And I always prefer to have ammo delivered right to my front porch than have to run around the city and countryside looking for it!