Bandcamp is really nice. but I don't know that I'd use it for anything other than finished product stuff. I honestly can't think of anything better for offering up your music to download, purchase, share on blogs and facebook-ish sites.... I love it.
Soundcloud seems like a good site if you're just looking for something to host your demos, or roughs, or the like, and easily post/share them on line.
Bandcamp, as Brains says, is really solid for offering online sales -- they give you one of the best artist cuts around (they pay direct through Paypal and if you set up or change your Paypal account to micropayments, it can mean as much as an 75% to 80% artist cut of retail) -- and they give purchasers options ranging from small, phone friendly Mp3s to truly lossless FLAC or Apple Lossless versions for a price the artist sets. (And they allow purchasers to pay more if desired, which is awfully nice, since, increasingly, paying for recorded music becomes more like voluntarily throwing a few coins or bills into a busker's open guitar case.)
That said, most folks probably only really know one online store, and that's iTunes. One ignores that venue at his own risk, perhaps. Runner up is Amazon.
It's relatively easy to sell through Amazon's CreateSpace service [even CD's on demand for the dinosaurs among your customers heh ] but, while it's supposedly technically possible for an artist to get his stuff up on iTunes for sale himself, it's such an onerous task jumping through their many hoops [and any undotted i or uncrossed t can cost you months in terms of release delays, AIUI] that most folks and smaller labels probably pay placement services like TuneCore or use a similar service at ReverbNation (and likely other services as well).
But for demos and stuff your putting up for feedback and critique, Soundcloud has a couple of nice features.
While Soundcloud's free accounts have some tight restrictions on the number of downloads for a given track (last time I checked it was 100 maximum), their interface, in addition to a 'wave graphic' type timeline/progress bar representation (that can help one visually find one's place in a song, at least unless the song is squashed into tubularity heh ) it offers the ability for visitors to tag specific comments to specific locations in the song (or on the timeline,more properly).
soundcloud is excellent for hosting samples or songs you wanna show people. it integrates extremely well into the facebook news feed (people will be able to play all of your songs right on the news feed in a converted flash player, similar to how you can view youtube videos right in the news feed). It's also kinda cool how you can see the waveform, and other soundcloud users are able to comment on specific parts of the song which is also cool. you also won't lose quality on soundcloud.
as mentioned, bandcamp is better for a final product.
Just to confuse the issue (too many of us with the same answer so far heh ) -- here's a list of a number of alternative indie music-friendly download sites below. Some (maybe many) may no longer be in business -- but there's a lesson there, too.
I'm too new to both sites to have a bunch of opinions, but I think that allowing comments on the timeline of a track is cool in Soundcloud and the paypal linked sales (with options for listeners to select how much they pay) on Bandcamp is also cool. I say why not use both? Annoying how Soundcloud seems to arbitrarily switch the order of some of my tracks though.