IMO no fish should ever be kept in a tank less than 10G.
A 4-5 gallon for a single betta is FINE!
it's only fine because bettas with fancy fins can't swim properly. the fact is all fish swim, that's what they're designed for. 4 gallons isn't much water at all, especially compared to what they'd have in nature. it's like a prison cell. the only people that keep fish in tanks that small are people that care more about the aesthetics of the tank than their fish's health. people think betta's like small tanks, but you could happily house a single male betta in a 55G tank if you were to bother to put the effort into making it suitable for him. a big tank with plenty of vegetation is much better than a small tank with one or 2 hiding places, but people don't do this because they wouldn't see as much of their pet.
i'm not a fan of fancy betta's though, and to me it seems people care more about having a pretty fish thats easy to see in its small tank than to have a fish that's happily living in what it could consider its natural environment. if people really cared about fish they wouldn't be inbreeding them to look a certain way, to have a certain finage or certain colour. i think nature is much better at deciding what fish should look like, the natural b. splendens is beautiful, i can't see why anyone would mess with how they look.
this is my opinion, and i'm fully aware that a lot of people will probably disagree with me, but i'm entitled to an opinion as much as the next man. personally though, i don't think you can say i'm wrong, especially about tank sizes. there's a huge difference between surviving and thriving