I like Brock, to be honest. If he caught more Pokémon, he'd upstage Ash. He's a Breeder, and prefers to develop those he has than catch as many as he can. He is clearly smarter than Ash, for instance the way he caught his Zubat. He knew Charmander would be best with Ash, look at it now. He caught Pineco oddly.. but still took it on. Ludicolo was well trained, as well as Mudkip. Not to mention Onix and Crobat. Brock as I said, trains his Pokémon by taking good care of them, he clearly is more about nurturing Pokémon rather than battling them. He could of had Stantler, but knew it'd be better off with it's mother. Thinking about it, Brock has had a decent amount of Pokémon and they've all turned out quite good.
From the top of my head.
- Onix (Evolved to Steelix with care of Forest)
- Geodude
- Zubat (Now a Crobat, under Brocks care)
- Vulpix (A great Pokémon for Brock, and showed Brock's great nature be giving it back)
- Mudkip (Now a Marshtomp, I rate him quite highly)
- Lombre (Now a Ludicolo, trained really well, not really a battling Pokémon now though)
- Pineco
- Bonsly (Now a Suduwodo)
- Happini
I believe that's all the Pokémon he's owned. I don't know much about Sudowudo and Happini, but two Pokémon clearly great for Brock due to his Rock-Type preference and healing nature like Happini. I suspect when Brock leaves the show, he'll open some sort of breeding center with Happini a Blissey.
I find a Rhyhorn wouldn't suit Brock. I think he'll leave at the end of the series, I believe it'd be good if he does and he goes his own way. It could be good for both parties (Ash & Brock) and good for the show. It seems right.
Edit: Just remembered Pineco evolved and he has a Croagunk. Bare with me there :P