Salthorae
Imperial Mountain Dew Taster
The design of the 5E Rogue class is not generous.
In games without feats, and where every adventure day is 8 encounters long, then maybe, just maybe, can the Rogue hold his own in the combat department.
But in games with feats the fighter get upwards of 35 or more damage a round, along with a host of other tricks. That's 10d6! There is no feat to meaningfully increase sneak attack damage.
And in games where the Sorcerer can cast a Fireball together with two Firebolts each combat (for something like 8d6+3d10+3d10+10 damage) the Rogue's so-called "alpha strike" looks just sad.
But the design is not only too stingy with damage. It is poor and counter-intuitive. There is no burst/nova capability. Correct play requires absolute system mastery, to gain two sneak attacks in as many rounds as humanly possible. The Assassinate ability is just mean to the Rogue player, enclosed in so many requirements it basically never happens in games where the party consensus is that solo raids are boring for the rest of the players; much more fun if everybody joins in to the combat simultaneously!
Sure the Rogue has its uses outside of combat, but let's be honest - D&D is a combat-heavy game, and there needs to be a straightforward way to build a Rogue that is competitive in combat.
Assassinate works easily... you have advantage on anyone who hasn't gone in the initiative order yet, so you're guaranteed Sneak Attack against something unless you go after all enemies. The auto crit part is separate from that, and getting surprise isn't that hard, they just need to not be aware of you. Some in the combat maybe surprised while others aren't.
If you get both and attack with two short swords then you're doing 8-10d6+Dex on that first round (because all hits are Crits with assassinate not just the first & depending on level) , then you move and hide or just move and start attacking the things the fighter is hitting so you still get sneak attack. The higher level and more sneak attack that get doubled the more deadly.
Rogue isn't supposed to be a front line fighter. That is why there is a Fighter. They are a supplement to the fighter in combat, but Fighters can't do hardly anything out of combat, they are a one trick pony really. And Fighters get to take all that damage that the Rogue just evades or dodges, because you can sneak attack at range! Or attack, disengage and move out of melee range, then move back in next round.
Take alertness or mobility, those are both going to help you in combat get sneak attacks. Alertness increases your chances to Assassinate. Mobility means you don't waste your Bonus Action disengaging and can use it to attack, move and hide, then attack from hiding for more sneak attack.
It is much easier in 5e to get sneak attack dice on most all attacks (even against Constructs and Undead now!) than any previous edition. Yes a Rogue isn't dealing the fighter damage every round, they're not a fighter.
If you're disappointed by the Rogue' damage output and the other gems that they offer don't appeal to you, then don't play a Rogue, play a melee class instead. But a complaint about a rogues consistent damage output is just wanting to have your cake and eat it too. Make up your own fighter "thug" subclass that gives some sneak attack damage with light/finesse weapons so you can have the fighter attacks but get some sneak attack too and see if DMs will allow it. I probably would.
I love Rogues and have played 3 or 4 different subclasses and am DM'ing a party where 3 of the character are either assassins or have Rogue levels. They shine where they shine and they do a decent job in combat, but they should never be mistaken for front line fighters in terms of damage output or soaked.