I am of the unpopular opinion that this narrative of "every Pokemon is good in its own special way" is wrong, at least from a statistical standpoint (which, judging from the OP, appears to be the focus of this topic). Unless you dip into highly subjective aspects of a Pokemon, such as aesthetics, there will usually be a fairly objective measure of how "good" a Pokemon is (i.e. how well it performs) based upon its stats, movepool, etc. However, while stats and such are objective, they are also relative, as is viability. As new Pokemon, game mechanics, and tools of battle (such as moves and abilities) are introduced, previous Pokemon have a tendency to either improve in relation to the changing game around them or fade from glory. As an example, Tauros is generally considered to be the king of RBY OU, while nowadays it serves as merely a decent sweeper in lower tiers. Tauros in and of itself is arguably better now with Intimidate, Sheer Force, and many new move options. However, what changed is the game around it. The loss of the old RBY crit and Hyper Beam mechanics hurt it, but more important was the change in Pokemon. In GSC OU, new threats like Skarmory and Forretress gave it a very hard time, and the power it used to claim became fairly unimpressive in the light of powerhouses like Tyranitar and Curse Snorlax.
That said, I think that's why Game Freak decides to make Pokemon with such varying levels of usefulness (although some might be more intentional than others). If we didn't have less useful Pokemon, we would have no standard by which to appreciate the more useful Pokemon. To quote Syndrome from The Incredibles, "When everyone's super, no one will be." The same honestly applies here; if every Pokemon was really good by the standard we define "good" by now, then no Pokemon would actually seem good since all would have a similar level of viability.
That said, I think that's why Game Freak decides to make Pokemon with such varying levels of usefulness (although some might be more intentional than others). If we didn't have less useful Pokemon, we would have no standard by which to appreciate the more useful Pokemon. To quote Syndrome from The Incredibles, "When everyone's super, no one will be." The same honestly applies here; if every Pokemon was really good by the standard we define "good" by now, then no Pokemon would actually seem good since all would have a similar level of viability.