It's always best to repot as less as possible, so I just use a small pot at the beginning and then switch to my 20 gallon pot.
Choosing a pot depends on what type of strain you're growing. Sativas like to sink their roots deep into the soil and stretch less horizontally, while indicas do the exact opposite, preferring to stretch sideways rather than vertically. If you wanna grow both types or hybrids, get a pot with a width as long as it's height. That's what I use and my plants seem to like it alot.
And again, when coosing pots, the bigger the pot, the more room for roots, the bigger the buds. But don't overdo it... I'd say a 20 gallon container is enough even for 8 feet tall plants.