* anti pattern → bad design
* key value store → (almost always) database
On that context, "stack" means exactly the set of all those things and a few more. You can't replace it by any one of those things. The alternative is enumerating all of them (that's what people used to do), what is bad (that's why people coined the "stack" term).
> anti pattern → bad design
Hum... Now are you talking about software architecture, UI, UX, communications design? Your replacement is confusing.
> key value store → (almost always) database
It is an specific kind of database, with performance characteristics that are completely different from the relational databases that the "database" word alone implies.
A mistake I often see myself making is that as soon as I get asked to do something I stop listening and start planning how I'm going to implement the solution. In many cases my preconceived solution will not solve the actual problem, because I've not actually found what the problem is that needs to be solved.
In many cases the requester doesn't really know what they are asking for and will need some prompting to actually think it through. This requires a discussion, rather than a simplistic request to define "use case".