Normally it is cheaper if you max out the 48 pounds per hazmat fee, and sometimes, the online places have free shipping or free hazmat.
There are exceptions. I was at the gun show a couple weekends ago and I was talking to one of only two vendors selling powder. He remembered me from the last time I bought 4 pounds of Varget from him and because I had pointed people in his direction on a local forum. I was telling him I was thinking of picking up this and that, and he told me to pick what I wanted, and he would basically knock $5 off each pound. I bought about 10 pounds of various powders and I basically paid what I would have paid online, without hazmat or shipping. Even when I added the $7 to get in the show, I was still ahead by quite a few bucks.
I will say that is the exception around here. For powders that are about $19 to $21 online, they run $25 to $27 locally. If they are $23 to $25 online, they are $30 give or take $1 locally. Even that is cool if you just need a pound to experiment, try out, or develop loads. But I actually prefer to stock up on 1 pound canisters for stuff I am not using immediately. I prefer to break the seal on as little as possible, and I rarely load enough to use anywhere near an 8 pound jug. Also, if I need a few bucks here or there, I can unload a couple of 1 pound cans much easier than an 8 pound one.