Dragonite is considered overshadowed by Salamence and, to a lesser extent, Flygon. Thanks to Intimidate, the former can force switches much more easily and takes less damage from physical attacks as he switches in. Meanwhile, the latter has a better defensive typing, with resistances to Rock-type attacks and an immunity to Thunder Wave, which gives him more opportunities to switch in. However, Dragonite packs a serious punch, and has great surprise value. If you manage to bring him in on a Choice-locked Earthquake or a Snorlax's Rest, your opponent will need to play very cautiously.
Dragon Dance optimizes Dragonite's stats to make him a formidable sweeper. His base 134 Attack is nothing to laugh at, and thanks to his ability to shrug off most non-STAB Ice attacks, he can set up with surprising ease. However, you should mostly try to bring Dragonite in on Pokemon that won't harm him, such as Skarmory and Rest users, in order to keep him as healthy as possible.
Thunderbolt and Ice Beam are options, but they don't pack the punch that Thunder does. In fact, with the listed EVs, Dragonite's Thunder does around 80% to Skarmory, 40-50% to Milotic, and a ton to Suicune. The HP investment lets Dragonite take Ice Beam from most Swampert, and the Speed EVs enable unboosted Dragonite to outspeed neutral-natured Magneton and Breloom, as well as Pokemon that hit 361 Speed after a Dragon Dance.
Dragonite works best when used on a team that can force switches and provide Spikes support. You can consider using Heal Bell to let Dragonite set up on Thunder Wave, but if not, you should play him carefully and make sure to keep him healthy.
This was the standard Dragonite set for a long time, and for good reason. With his stellar offensive stats, Dragonite can hurt a multitude of opponents. Nothing resists both Ice Beam and Thunderbolt except Shedinja, Lanturn, and Magneton: of these, Shedinja dies to sandstorm damage, the former two are uncommon, and the latter two can be taken care of by Focus Punch. Special walls, such as Regice, Blissey, and Snorlax, also can't take a super effective Focus Punch to the stomach. SubPunch Dragonite doesn't pack the punch that the Dragon Dance variant does, and can't clean up as easily, but it sure is something to watch out for if you don't carry the right counters.
The SubPunch set is the toughest to EV. You'll want to concentrate on Dragonite's HP, as well as his offensive stats. Pick either an Attack- or Special Attack-raising and Speed-lowering nature, and balance both his offenses.
This set is a variation to the one above, but has a more specific idea behind it. With the EVs listed, Dragonite should be able to dent Regice, Snorlax, and Blissey severely with Focus Punch, to the point where even sandstorm damage will finish them off. Hidden Power Flying is stronger and makes Dragonite a better finisher, but Hidden Power Grass lets Dragonite 2HKO Swampert, and isn't much weaker than Thunderbolt against Waters such as Milotic and Suicune. However, note that said Water-types outspeed Dragonite and often pack Ice Beam. The moves in the last moveslot are interchangeable to an extent; it all depends on your team. Speaking of teammates, this Dragonite should be paired with Tyranitar for residual sandstorm damage.
Go with the EVs listed unless running Hidden Power Flying; if so, Dragonite will need less Attack EVs to finish off the targeted special walls. You can put these leftover EVs into HP or Special Defense.
The main reason to use Choice Band Dragonite over Salamence is the movepool difference. Dragonite has Focus Punch, which can do huge damage to Suicune and other Water-types; in fact, it hits just as hard as Choice Band Tyranitar's Focus Punch. Dragonite can also hit these threats hard with an Electric move, and Thunder's paralysis chance might help as well. Ice Beam is an option here to deal more damage to Donphan, Claydol, and other Ground-types not named Swampert, but Dragonite will have to take out Skarmory with Focus Punch or in another way.
Aim for as much Attack as possible, enough Speed to hit a stat of 244, and put the rest in HP. Some Special Attack investment can be used, but that's not recommended.
This Dragonite is nearly guaranteed to take out Suicune, Milotic, and Swampert if they switch in on Dragonite when he is at full health. This set works as follows: Dragon Dance on the switch-in, then use Hidden Power Flying to weaken them. Dragonite should survive the Ice Beam, but be weakened enough that Liechi Berry will trigger. Hidden Power Flying will KO most opponents bar a low damage roll, but this is where the massively powerful Double-Edge comes in. Dragonite should usually survive the recoil, but even if he doesn't, you can now bring in one of the many Pokemon that have a great chance at sweeping opposing teams lacking a capable bulky Water.
The EVs listed are most effective, but if you want to variate, just make sure Dragonite can survive a non-STAB Ice Beam off around 263 Special Attack.
Heal Bell is a workable option for healing Dragonite and its teammates of status. Other support moves Dragonite receives include Thunder Wave and Haze, but all other recommended moves have already been mentioned.
Checks and Counters
Zapdos, Armaldo, Claydol, and Weezing can counter the Dragon Dance set most reliably; Metagross, Slowbro, and defensive Swampert are good picks as well. Milotic and Suicune are also solid switch-ins as Dragonite can't hurt them much outside of a Choice Band Focus Punch. All in all, Dragonite doesn't have many great counters due to his awesome movepool.