S Rank: S Rank is the absolute pinnacle. It's the top dog, the big cheese. Being S Rank means that if you, the player, can manipulate your catches to make getting this thing easier, you should do it. It's when a Pokemon is so good, you'd seriously consider having an exact duplicate on your team with the exact same everything because that's how good it is. You cannot be outclassed in S Rank - if you are amazing, but something else is just better, you're not worthy of the S Rank, because S Rank IS that something better. It's always something better. Usually, an S Rank can kill the entire opponents team before they move, but sometimes they can kill the entire opponents team and just never die in return - either way, the only way they're threatened is player error.
A+ Rank: A+ is what's left. Some Pokemon are absolutely amazing, easy to get, easy to use, and really really good, but just don't quite have that extra oomph. Maybe something outclasses them, or maybe they just lack a little bit of pizzazz, but for whatever reason they're hard to come up with super notable flaws for but not game-endingly awesome. Some Pokemon with particularly absurd niches can end up this high too. They need a little bit of support to be number one, but these guys can be the backbone of an amazing team just like S Rankers can.
A Rank: A is the "goddamn solid" rank. Typically if you're seeing a Pokemon in A, it's got a few great things going for it, enough that it's one of those really good Pokemon, but like in comparison to the real top tier guys they're just not absurd enough. Most of the Pokemon here can hold up a team really well, but by this point you're going to need proper support or the mon will fall to the correct challenge. (And if that challenge doesn't exist in the game, the mon isn't A rank, it's A+ or S.)
A- Rank: A- is a bit of a funky rank. A 'mon in A- is capable of anchoring a team like all other A 'mons are, but absolutely needs support to function. Pokemon in A- are great, but they've got some serious notable flaw that makes them a bit trickier to apply to situations. Usually, you can expect them to have a situation where they are consistently incapable of helping your team out, like Gen 1 Rock/Grounds being unable to help against most Grass or Water types. But they're all still worth "A" because of their availability and power.
B+ Rank: B+ is for the most part "things that weren't worth A- but aren't quite bad enough to put in B." Usually with B+ you'll see things that are rarer or lategame only but are really goddamn good, or things that are pretty common and hold up surprisingly well compared to the average common mon but do get outclassed. They can't really anchor a team, but most of the time these guys can fit into a team really easily. They might suffer from issues like weak movepools or underwhelming stats, but they may have good qualities that override these issues enough to keep them out of B.
B Rank: B Rank Pokemon tend to strike a balance between good and bad that makes them a rather neutral teammate. They can be a hindrance or a benefit depending on the team around them, though most of the time they're worthy of a team spot. By this point a lot of 'mons are getting hit with the "outclassed" label, too, as the best 'mons have all been sorted into the top tiers, but you may find scions of types and playstyles that have issues in the game getting tiered here. B is still a rank of good Pokemon, good, solid Pokemon... but compared to the top tier guys, these ones aren't going to hack it, precisely.
B- Rank: B- is a weird place, like A-. Most of the time, B- signifies either that the mon has some niche that makes a mon too big for C but not nearly good enough for B, or that the mon has some pretty good shit going, but has a significant flaw that makes using them actively difficult. The good qualities a B- Rank Pokemon would have are usually overshadowed by either a notable flaw or several minor flaws. Either way, they are hindered by their flaw and can't perform to the best of their ability. All around, they can either do many things or do one thing exceedingly well, but they can't do them as well as the higher tier Pokemon can.
C+ Rank: C+ is an oddball rank. A lot of things here are potentially not that bad, but require too much effort to make truly useful - C is about where you get to Pokemon that simply require too much buck to get worth out of the bang, but C+ are the ones that come close to being worth your time. Some have noted use early or late in the game, but issues making them not quite worth it overall. C+ Pokemon do fulfill a niche, like most C-ranked Pokemon do, but they do it better than those in C. However, they suffer in many other areas that can hinder their ability to perform this role.
C Rank: C is the border between "Good" and "Bad". While many C Rank mons can pull their weight or fill a certain niche, they are often held back by stats, movepools, or availability, and take a fair amount of investment or planning to contribute as strongly as some higher-tier 'mons. They typically have some serious problems, but they do fill their niche to the best of their ability. You might be able to utilize them properly with the right team support, but be warned that it will require a lot more than the upper ranks.
C- Rank: If C is bad, C- is BAD with capital letters and probably some emphasis. If these Pokemon have a niche, it's one that you should never have any reason to utilize. Many Pokemon can do things better than C- Rank. These are possibly usable as novelties and usually have some manner of niche that can be potentially useful in rare circumstances, but in actual serious runs by most Nuzlockers, these just aren't worth spending time on, and usually something will do their niche better anyway. But on the plus side, they do actually have some theoretical use in some situations, unlike the bottom tiers.
D Rank: D Rank Pokemon are very, very bad, but what keeps them from the depths known as E are usually a very gimmicky niche. While they are typically bad in most areas, they do have one area where they tend to be semi-decent. However, there is probably a Pokemon that outclasses them in that niche, so they aren't C Rank. A few D Ranks are actually okay, but they come extremely late and/or underleveled, thus missing almost everything they'd be useful for - but these are not worth the time spent, so they fit into D well. If you're the type of person who wants to use uncommon Pokemon and like a little challenge, you could consider some of these Pokemon, but beware. They will make the run extremely difficult and you'll find yourself struggling to drag them along with the rest of your team. If you choose to use them, they're going to need a lot of support to work well enough to perform their one-trick-pony show.
E Rank: The first rule of E Rank: you do not talk about E Rank. E is abominable. E is trash. E is literally worthless. Pokemon that fall into this category are here because they are literally sitting at the bottom of the barrel. They have no redeeming qualities, or if they do, it's buried under so many absurd issues that any player trying to get use out of them would automatically be better suited with literally anything not E Rank. They tend to not mesh well with a team and they typically need so much support to work that they aren't even worth the effort. If you're using one of these Pokemon, it's probably in some kind of novelty run with a weird ruleset. Don't bother trying to use them in a regular run unless you enjoy many forms of sadomasochism.