The main point is that a party of mine always contains a starter and that it covers many types ( at least 8 by base type and all 17 by moves, and at least 8 STAB). Also, three of the types of my Pokémon are Water, Fire and Grass. The most important part is that I don't want any overflows (i.e, no repeated types or moves) through the party, and no unnecessary movelists. I would either take HM Slaves or make temporary slots for the field uses, save for Surf. I would also like every Pokémon of my party to have a move that has decent power (75+) and decent accuracy (90+) with decent PP (10+) for grinding and endurance, along with a high-power move (preferably STAB, but can be without with BP being 120+) and manageable accuracy (75+) for the high-power takedowns (against strong opponents.
Next thing I'd look for is good overall stats on a Pokémon, along with ability. Basically, the party should be self-sustaining, but with also the possibility of running high-power. I typically reduce the usage of non-offensive moves, but I can make exceptions for running with Dragon Dance + Dragon Move.
So yes, I don't think my ideas suit competitive needs at all, but this is what I typically aim for during gameplay. Like many said, type coverage is the key. And every Pokémon should be capable of taking lead/powerkiller, there should be no or least dependency on a specific Pokémon to do the job in every battle. This is to cope with the gym leaders and various Elite Four members.