Lets look at .38 Special, which is probably what I shoot the most.
Brass, I've already got it, and I reuse it a lot, but I recently added another 1000 pieces to my inventory for $35 shipped.
Bullets, 1000 158 grain SWCs from Missouri Bullet, $64 including shipping
Primers, average about $25/1000 lets say
Powder, average about $20/pound
Total, including brass: $144/1000 rounds
Total, w/o brass: $109/1000 rounds
Buying in bulk reduces prices on about everything, but the above is assuming buying just enough to load 1000 rounds. I load 6.5 grains of powder in each of my .38 Special rounds, so I use slightly less than 1 pound loading 1000 rounds.
So, including brass, its 14.4 cents a round, without brass purchase, its 10.9 cents a round. Buying in bulk, which I do, I can get down to about 9 cents a round, and that is without casting my own bullets.
I just checked Ammoman to get an idea of what factory .38 Special is going for. My standard .38 Special loading is +P. Ammoman is out of stock on all .38 Special, but their last prices show $149/500 for Federal 158 grain LSWCHP+P or $239/1000 of American Eagle 158 grain RNL (non+P). That is 29.8 cents a round for +P and 23.9 cents a round for standard pressure, and again, its all out of stock.
I don't account for my time in the figures because I enjoy handloading as a hobby in and of its self. My press is long paid for, so I don't factor in the hardware either.
Keep in mind that I can handload a seriously expensive cartridge to buy factory, like .44 Special, for only about $10 more a thousand than .38 Special assuming using brass I already have.
It saves a lot of money per round, whether is saves any money overall depends a lot on how much one shoots. I simply couldn't afford to shoot at all these days if I didn't handload. Luckily I've been doing it for 15 years now, so I haven't had to deal much with the huge spike in ammo prices.