People get a bad output from an LLM and immediately blame the model instead of reviewing what they actually gave it.
Even with thinking machines, the old rule still applies: garbage in, garbage out.
LLMs are also a little like the genie in the bottle or the Midas touch: be careful how you phrase the wish. You may get exactly what you asked for and still not get what you wanted.
If the model followed your prompt but missed the outcome you had in your head, that outcome was never part of the specification. The implementation in your head does not become part of the prompt by magic.