GenII ingame both ingame competitively with link battles and playing through it.
It was a huge jump forward in so many ways.
Cell phone - call trainer for moar money/evolution stones/useless pokemon that swarm and are hard to catch otherwise, and you don't want to because they suck (lol yamna/qwuilfish)
Held items- self explanatory
morning/Day/nite - awesome as it effected numerous things. Now days it'd kinda suck as I have priority's, but when I was 11/12 it gave me a reason to play during different times, it's still awesome concept though.
Beating the Elite 4 - You beat the E4 then realize you still have another 3rd of the game. Kanto was my favorite part of gsc, even though johto was awesome too.
Gym leader variations - Johto gym leaders had uncommon types at the time, dragon, ghost and bug gym leaders were something new, and huge at the time as there was arguably 2 good bug pokemon and only 2 species of ghosts and dragons. The second dragon line being Kingdra.
Shiny pokemon - idrgaf but it was something new and red gyarados made a good hm slave with strength, whirlpool, and waterfall. Surf didn't suck so it wasn't mentioned.
Breeding - getting better stats and egg moves. Some of the egg moves were straight awesome. I can't remember the most awesome ones but they were there.
Starters - behind 1st gen these were the sickest. A ****ing alligator? Awesome. A fire starter who isn't 4x weak to rock, learns fire blast and thunderpunch and earthquake? Typhlosion ****ed **** up against my 12 year old friends at the time. STAB'd fire blast, thunder punch takes down waters (12 year olds aren't as likely to send out a good water type, and gyarados is still awesome besides the 4x electric weak : P ), earthquake hits everything else for heavy damage with 100% accuracy iirc.
Awesome creative pokemon - some were really dumb like the swarm pokes, 1st 2 bug species etc. But the awesomeness of Crobat, Umbreon, Espeon, Skarmory, etc. made up for it.
Zubat species...doesn't suck anymore? A psychic and dark eveelution? The psychic is pretty good and has bite to **** other psychic and umbreon was awesome defensive/stall wise. Meanlook, Screech, Toxic, Baton pass lol.
Moves that really sucked in gen1 are now very useful competitively - whirlwind/roar comes to mind.
I know I'm probably missing more but most important...
It wasn't a pita to get good stats and moves with or without sharking.
No natures to have to catch the right one.
No gamble with abilities (Starmie had one that restored status after switching or something useless iirc)
It was just catch pokes with good stats and breed egg moves, typically the baby will have good stats as well.
If you didn't have time for that **** and complicated breeding chains then you could shark a move with 1 line of code and max DVs/stat exp with another 6 lines of code.
The metagame was really defensive and stallish from what I've heard, but there's so many other good things.
At least there's a bigger pool of useable pokemon. RBY teams were
Chansey/Starmie/(Golem/Rhydon)/Tauros and pick two of Snorlax/Zapdos/Jolteon/Exeggutor/Gengar/jynx/hypno like Riddle said. If you didn't have 2 psychic you were doing it wrong.
The ease of playing competitively ingame is still awesome today. But overall competitively I think r/s/e because they were so much deeper...but along with that came a lot of time whether raising from scratch or entering 60 lines of code for the right moves, nature, ability, stats, held item, where caught, etc.
RBY was also good especially nostalgia wise. FYI, I stopped playing after gen2 but after leafgreen/fire red were released I played r/s/e competitively on a simulator. IMO it seemed like game freak was running out of ideas for the pokemon 3rd gen. Exploud wtf? Luvdisc? Nosepass? Some were cool like Zangoose and Salamence but they were few and far. My knowledge is extremely limited when it comes to gen4 and nonexistant with gen5. I'm pretty sure gen5 is black/white but I have no idea.