No, it isn't. Every time you level up, you can exchange a known spell for a new known spell. Not permanent, certainly, but I'll agree much more limited than being able to swap out every spell you have prepared for a different spell, selected from your ENTIRE spell list. (Frankly, I've always thought that was a bit overboard... but that's a different topic.)
For a cleric a spell is equipment. Changing spells is like going to your wardrobe in the morning - and (with a couple of very minor feat and race exceptions) every cleric of the same subclass has access to exactly the same wardrobe. There is no difference in the character building choices.
Meanwhile a spell for a warlock, sorcerer, or bard is a long term choice and two Draconic sorcerers might not have a single spell in common. Your spells are a big part of who you are
Yes, a few is greater than zero... nothing new there.
But, let's agree not to count spells, since over half the classes get spells? I don't consider spell selection much of a choice, personally.
You might not but I do. For characters where it is a major choice anyway.
I don't need a choice every level to feel like a class as sufficient decision points for me to enjoy it. Again, as I've said upthread, the other class chassis have plently of decision points.
What decision points above level three?
I consider a choice every level to be stingy. If you're only going to level up half a dozen times after level three in about a year of play that's about one choice every two months.
Boring has nothing to do with it. Those dozen invocations depend on the character concept, but once that has been determined, the invocation choices are pratically pre-determined as well, IME.
That's on you.
From levels 2-10 you have 2 SPELLS you can cast during an encounter. Otherwise, you're forced to resort to spamming cantrips.
OK. Reality check on the sorcerer.
At level 5 as a sorcerer you have two third level slots. Unless you're twinning Haste the warlock can match that cold. And a pre-Tasha's sorcerer only knows one more spell than a warlock, but needs to spread it out over three spell levels.
You also get three second level slots. What are these worth in warlock terms? We've got a simple benchmark here. Scorching Ray does 3x2d6 fire damage (average 21 single target damage). Meanwhile Eldritch Blast plus Agonizing Blast with Cha 18 at level 5 does 2*(5.5+4) = 19 Force damage. Or almost the same with a better damage type. You call Eldritch Blast a cantrip but with Agonizing Blast at level 5 it has the effectiveness of a second level spell. (And that's without a "cheat hex" cast before you take a short rest because it lasts eight hours).
So you have four first and three second level spell slots trying to match what the warlock is doing at will with a spammable at will spells that's effectively second level and whatever else the warlock invocations let them spam. Oh, and light armour and extra hit points.
The warlock falls behind at level seven because there is a huge jump from second to third level spells. But a much smaller one to 4th so the combined third and fourth slots work together more than second and third.
That is a serious pinch unless your groups get in short rests after every encounter? If you play with the oft-used 2 short rest limit per long rest, that is 6 spells for an entire adventuring day.
And at fifth level that's six third level spells vs nine leveled spells of which only two are third level and almost half are first level. Plus better non-leveled spell options for the warlock.
A warlock that consistently gets two useful short rests in a day is a monster.
Other full-casters get that by 3rd level, and by 10th level: 15 spells, 2.5 times what a warlock has.
Sure ... if you think that a first level slot is worth as much as a fifth level slot. If you don't then that's six fifth level slots vs two fifth, three fourth, and three thirds.
Tenth is the absolute nadir of warlocks. Now let's look at eleventh with two short rests. Everyone gets a sixth level slot. Then the warlock gets nine fifth level slots while other casters get eight spell slots of level three and above. And that backed by a monster Eldritch Blast and Invocations.
The warlock's actual weakness here is resilience; with no first level slots they're missing Shield, Absorb Elements, and Silvery Barbs. And all warlock defensive invocations are bad (something that I hope 5.24 fixes)
If a battle goes for more than 3-4 rounds, which IME happens often enough--Warlock feel quite limited by comparison. At least other spellcasters have the option to cast more spells in such cases.
Oh noes! Don't make me cast Eldritch Blast! Especially not when other casters are burning their second level slots and I can do this all day.
In our current game one of the PCs is a warlock, and with 2 spells (95% of the time hex and then the other slot is 50% cure wounds). Once that first spell slot is used, the player feels like they have to hoard that valuable second slot in case the cure is needed. It is a pinch felt every session.
Ugh! The problem here isn't the power of the warlock class. It's that your player doesn't get how to play them.
If the warlock is level 5+ then they should basically
never be spending a slot to cast either of those spells.
If they have Cure Wounds they are a Celestial, which means they also have Healing Light. And Healing Light is basically Healing Word; it doesn't do much healing but it gives
enough healing to bring the recipient back into the fight while allowing the caster to keep beating on whatever took their friend down. So you might not have normal first level slots but you have level+1 uses of what is basically healing word. So when should you cast Cure Wounds? Simple.
Before a short rest. When you would otherwise waste the slot. If he needs a slot stored for combat save it for Revivify.
And Hex? Again you cast it before a short rest. It lasts 8 hours. Then you have both slots available.
So there we have it. Your warlock player is making blatantly bad choices and you don't understand the class well enough to have realised it.
And is a problem with the warlock the number of trap options? Yes. Absolutely (and cleaning out the chaff invocations will only help). Does playing a warlock well require a different approach to other classes? Again yes. They are not orthodox full casters. More play styles and approaches is a good thing.
A final note: like many others, in many ways warlocks feel more like half-casters even though they are "full-casters".
Who said that warlocks were full casters? Because they are their own thing.
But even compared to half-casters, warlocks have fewer spell slots by 7th level...
If you don't care about quality this is true.
Warlock are sort of a wierd 2/3 or 3/4 caster class.
Warlocks are their own thing. If you look at just the spells and ignore the invocations they are not great. But invocations are full of both utility to handle their low level spell slot equivalents and junk.