The reason I dislike static abilities is that, as a character advances in levels, she gets tougher, better at fighting (even if she is a wizard, in most games), with more powerful spells and better saves, but for some reason not stronger or even wiser. Static abilities were fine in the original LBB D&D, where they granted little bonuses and weren't used for skills, saving throws, etc., but as they got more and more important, it seems that any real advancement should include improving abilities.
Hard caps on abilities bring similar problems, although they take longer to manifest. If you're a fighter, for example you probably start with a good STR, and will augment it at every opportunity. Soon you hit the ceiling, and then you'll look for other abilities to improve. That, apparently, is how 5e works: you first put 15 in your main ability, then increase it with race features, ten increase it again with ability score improvements, and before level 10 you have already reached your maximum.
So your 20th level fighter will probably have a STR that is no greater than 99% of the 8th level fighters in the world, and in fact no fighter will ever be stronger than that (unless you're using feats instead of ability score improvements, of course).
But wouldn't be cool if you could make a Fighter with superhuman STR? One that was stronger than most Fighters, and probably stronger than anyone in the realm, but not necessarily the best Fighter of her level? Then you could have a match between two 15th level fighters where one has superhuman STR but the other can still prevail using speed and guile - and all without using traits, alternate classes, or having to turn your Fighter into a Barbarian, Rogue or Swashbuckler.
|Wouldn't it be cool?|
My solution for this is: diminishing returns. Use soft caps instead of hard ones. Which means, you can have an ability greater than 20, but it will cost you.
Try this, for example (but see my notes below on how to change this table):
Now, all Fighters may benefit from a great STR - up to a point - but after a while being well-rounded might be more useful depending on the character concept. Want to create a Fighter with STR 25? Go ahead and do it! Her saves will suffer, and she might be easily fooled by someone smarter. She will probably be a great fighter, but not necessarily the best one in her level. At the same time, nobody will be better at arm-wrestling, carrying stuff or breaking doors down.
If you don't like the idea of messing around with the ability score/modifier table, you could also do this with a simple feat, instead, such as:
One of your abilities is greater than normal human limits. Choose an ability. Increase this ability by 1, and now this ability can be raised beyond the maximum of 20, up to 22. Each time you take this feat, add 2 to this maximum.
What's the point? Adding more character concepts without adding much complexity or new traits and classes to the system.
Of course, the table above could be changed in many ways, and could go on forever. It also has MANY uses other than that (discouraging "dump stats", making that INT 8 really sting, allowing you to beat a house cat in a fight...). I use a similar version in my own game, but with more nuance. The example above are meant too keep things identical to RAW 5e in most of the cases. The whole "diminishing returns" subject is worth a post of its own - just stay tuned!