I like gravel for my larger tank.
1) It holds down any decorations.
2) It allows plants to grow nicely.
3) I don't have to worry about the filter sucking up sand.
4) When I do water changes it doesn't all fall out.
5) I think a bare-bottom would ruin the whole look I was going for!
BUT, I'm going to start using sand for my smaller tanks and might just try sand in my 20 gallon with it, just for fun! ;)
I like sand in the smaller tanks because..
1) It can be personalized with so many "natural" colors.
2) It's very easy to clean.
3) I don't have filters for those, so the sand doesn't get sucked up.
4) Unlike gravel, a rinse with water and ALL the sand comes out!
5) It's softer for my future bettas!
I don't think I'd ever go bare-bottom, it makes things look cheap and like you aren't really "into it". I think I'd at least go for large stones, because in a 2 gallon 5 stones could easily cover the bottom. That's still REALLY easy to clean, and it looks like you've put effort into your tanks.