A question I hear people asking a lot is "how high can I get in towers?" Since there is a CR soft/hard cap, given a particular roster what's the highest someone could reasonably expect to reach.
First, for those that are not aware of the mechanics of Towers fights, your damage is modified by the difference between your attacker CR rating and the defender's CR rating. I don't have an exact formula, but at equal or higher CR most fights are doable with almost any attacker: your damage is very good (and gets ludicrous if you have higher CR). But at differences of -10 to -15 you start to see some damage decrease from your attackers. This becomes very noticeable at -20 to -25, and without excellent play, strong mastery setups, or very strong match ups, or all three your damage becomes too low to finish the fight in the allowed one minute. Only the strongest players with very good skill and understanding of the fights and all-out offensive mastery setups can expect to consistently beat -30 and -35 fights. And if you're taking -40+ fights, you already know who you are. So your own roster places a limit on how high you could go, depending on your skill, mastery, and other factors.
So given a particular roster, how high up a tower are you likely to be able to go. I've taken the data on each block of the tower starting from block 56 (as this is where 7* defenders start to appear) and organized it into a table that shows for each defender CR rating, how many of those exist at each block. For any given block (a "level" of the tower) all defenders have the same CR rating, and there are a certain number of those fights you have to complete to clear that block. So if a block has, say, eight CR 220 fights in it, you would need at least eight attackers capable of taking on a CR 220 fight. If you have nine, you're good. If you have seven, you'll get stuck in that block. So here's the table:

The table shows the Blocks from Block 56 to Block 92 (the highest block I have data for) increasing from the bottom to the top (technically descending order but I like the numbers "climbing" upward). The defender Rank/CR is shown at the bottom increasing from left to right. Below the defender CR row are three rows labeled "+10/15" "+20/25" and "+30/35". Very roughly, this corresponds to "easy fights", "hard fights", and "really hard fights." I'm not going higher than that because if you can take a +40CR fight, you definitely don't need my help. Only you know which of these is inside your own skill envelope. Let's say from experience you know you can likely beat a +20 or +25CR defender, but +30CR is unlikely. That row shows how strong your attackers have to be to fall within that CR difference. So in this example, 7R1 attackers are good enough for CR200, CR210, and CR220. CR230 requires 7R2, CR240 requires 7R3, CR250 requires 7R4, CR265 requires 7R5, and CR280 requires 7R5A1. For the purposes of this table, ascended champs are one rank higher, so an ascended 7R3A1 is a 7R4 for the purposes of this table. (Note: an A2 should be considered three ranks higher; a 7R3A2 is a 7R5 for our purposes due to the +15 CR per ascension compared to the +10 CR per rank).
So let's say this hypothetical player has 25 7* champs R1 or higher (of the given class). Looking at the table, you look for the first instance of a number higher than that. The first time that happens (in all the columns for which 7R1 is suitable, which is the first three columns) is in Block 76, which requires 30 attackers. Since you only have 25, you will run out of attackers in Block 76.
But to see how high you can go, you need to check all the columns: the lowest block you will run out of attackers in represents your actual stall point. So let's say this hypothetical player has 11 R2s, 6 R3s, 2 R4s, and 1 R5 (and by subtraction, they have exactly 5 R1s). We continue checking columns. They have 20 R2 and higher, 8 R3 and higher, 3 R4 and higher, and 1 R5 and higher. They also have zero R5A1s. Looking at the R2 column, the highest fight count is 20, so we're actually good there: there's no stall point all the way up to block 92. Looking at the R3 column the first block higher than 8 is Block 79 with 12 fights. They would get stalled in Block 79 if they reached it, but they won't because they will get stalled in Block 76 first. The R4 column shows they will get stalled in Block 75, which is earlier than Block 76. The R5 column shows they would get stalled in block 84, and the R5A1 column shows they would get stalled in Block 88.
(Note we checked the R5A1 column even though the player has no such champs: we have to check every column, even columns the player has zero attackers that qualify because that could be a roadblock in and of itself. If the player had only R1 champs and no R2s or higher, we would still have to check every column against zero).
So for a player with this roster, this mastery set up, this skill and knowledge level, the first place they will get stalled is in block 75. They need four attackers R4 and higher but they only have three. To get past this block they would need one more R4 rank up.
If they do that rank up they will next get stuck in Block 76. They only have 25 7* attackers in this class and they need at least 30. To get past Block 76 they need five more unique attackers in this class. Then they would get stuck in Block 79: they have eight attackers R3 and higher, and they need 12, so that would require four more R3 rank ups. And so on.
Towers are constructed like stacks of pyramids. Each mini-pyramid requires a lot of lower attackers, then fewer stronger ones, and so on. To get past each mini stack place different requirements on your roster from lower to higher rank attackers. This table above gives you an idea of how many of what rank attackers you need to climb higher, for those interested in planning rank ups ahead.
A word on skill. There are some players who are saying Towers is completely skill-less: it is all about roster. That's not true at all. Roster is a *prerequisite* to climb high, but roster alone does not get you to your maximum tower block. Some players can only beat +15 CR defenders. Some monsters out there are taking on +40 CR defenders. That has nothing to do with roster by definition. That's mastery setups (and the knowledge on how to optimize them), that's good match up discipline (almost any attacker can beat any defender at +10, but at +25 there is such a thing as a good and bad match up, and at +35 and higher you need extremely strong knowledge of who is best for who), that's good game knowledge, and that is extremely good twitch skills. Anyone can beat +10CR with their normal gameplay skills. By the time you are at +25 you need to be very aggressive. I can only imagine how aggressively the few players taking on +35 and higher are playing because literally every second counts.
Without roster strength you're hard capped, this is true. But without skill you aren't going to get anywhere near the hard cap. The Absolute hard cap is +50CR. No one can do that mathematically because your damage drops to zero. But in between +15 and +40 is where skill, knowledge, and experience live. And the difference between +15 and +40 is potentially hundreds of rank points and thousands of rank places.
I'm pretty sure my numbers are correct, but as always comments and corrections are welcome. And yes, I'm aware there's a few simplifications here, in particular the issue of stronger and weaker attackers. You might have enough attackers, but one of them has pillow hands and can't kill fast enough, or you don't have quite the right match ups in that Block at high CR differential. That gets too deep into the weeds: players need to tweak things for their own specific roster in that regard. This is more intended as rule of thumb and useful rank up planning forecast, not a prediction for where a player will necessarily end up.