After finding out the latest AR firmware works on the 3DS I said "**** it" and performed some genetic engineering on my legendaries.
I'll make a short list of why AR codes or outside intervention of any kind (RNG, PokéGen) are a necessity for any serious Pokémon player.
1) IVs. That should be obvious. Breeding minimizes the randomness of IVs, but still makes it nearly impossible to get a flawless Pokémon (which, for reasons I won't discuss in this post, has become the standard of competitive play) or a Pokémon with a certain Hidden Power type.
2) The fact GF refuses to make IVs/EVs official. It's a hidden mechanic in the game. Every other RPG has a screen in which they show the skill points of the characters. In Pokémon, all you know is the final stat, which is a result of a calculation involving the base stat, IVs and EVs. Especially EVs are crucial for maximizing the potential of a Pokémon, but they're hidden in all games.
3) All of this info is hidden from the player, but that doesn't stop GF from giving NPC trainers in the Battle Subway/PWT Pokémon with perfect IVs and smart EV spreads, as a way to cheat the player.
4) Scarce availability of evolutionary items. In the 1st gen you could buy evolution stones. After that, GF has created gimmicky ways of getting evo items each gen, sometimes only allowing the player to get one (yes, ONE) of each item, like in Gold and Silver. They have been making the life of players easier, but it's still not ideal. A simple mechanic they could use is to allow evo items to be held by wild Pokémon that evolve by such items, but it seems they are too thick to think of that.
5) Scarce availability of TMs and/or ridiculous requirements for teaching Pokémon certain moves. HGSS had tutors which cost BP, and farming BP is very time consuming and not rewarding at all. In 4th gen and prior, TMs were single use and some of them (specifically the ones given by gym leaders) were only available once. In 5th gen, certain TMs cost a hefty amount of BP. Shards, while an interesting method to provide currency to Move Tutors, aren't that great because only in the latest game of the series B2W2 there's a way to efficiently farm for Shards.
6) Breeding takes too long. B2W2 included the Nursery, which helps a lot with hatching eggs, but without it, and even with a Flame Body Pokémon, breeding is basically mindless cycling back and forth until the Pokémon mate and the eggs hatch. This sort of mechanic is why RPGs are widely criticized by detractors of the genre for having boring gameplay.
tl;dr The problem with Pokémon is that, for a game focused on multiplayer and online battles, the preparation part of it simply takes too much time and effort. Older players are handicapped, and newer players give up before even trying. If things were more accessible, there wouldn't even be a need for simulators. Basically, Pokémon is like professional cycling, according to Lance Armstrong: you must cheat to win.
And therefore I will cheat.