As someone who has played literally all of it since he was a wee lad, I'll go by generation
Gen 1: Graveler for exploding 3 shinies on me
Gen 2: Feraligatr 1st starter I loved using and also big croc
Gen 3: Cradily/ Lileep unappreciated by most, used cradily all the time in my runs (including new games if I got one) able to take hits very well and do some good ones in return
Gen 4: Empoleon water/steel very good, yes good
Gen 5: Golurk undervalued but very stronk. no guard best friend with all terribly accurate moves
Gen 6: Tyrantrum love the design (especially the shiny) also pretty strong
Gen 7: DEEEEEEWPIDER funny name go brrr, but in seriousness, Tsareena. great poke that does a lot of things well.
Gen 8: Hatterene 1st competitive shiny I've hatched, excels in everything she does.
Honorable mentions: Aggron, Numel, Runigerus, Centiskorch