Generally, in game development, the term "optimization" refers to the holistic process around getting the game performing at speed, be it compiler optimization options, SIMD-ification, or even adjusting texture resolution (graphical fidelity) or AI parameters. It often starts with profiling, and identifying bottlenecks, and focusing on what can be done to get the game to perform within spec.
Optimization is entirely about context, so, while I generally agree with your comment about Tetris, I'd say your second example is "poorly optimized" by definition.
As to your comment about being determined by how much the developer wants to push... Yes, aiming for higher fidelity will use more resource, it's hardly every simply the "developer's wants" that determine the performance of a particular title, instead performance ends up being the end result of thousands of tiny decisions and elements that contribute to the final experience.
They have a bunch of levers to pull to reach that target. Failing to pull the lever that reduces particle effects does not mean the game is un-optimized.
Source: This, specifically game optimization, is my profession and I've been doing it for 15 years.
Edit: To add, this is clearly a vocabulary argument, it'd help your argument if you gave context and defined what you think specifically optimization refers to. But even then, words are used in context, and the context here seems to be strongly game development flavored.
If you're making an 8 bit 64x64 pixel platformer, your main bottleneck is likely code. If you're making a 3D flight simulator, your main bottleneck is likely draw distance, texture resolution, and the number of assets filling the screen.
If your game is running 20 FPS, your problem very likely is lack of optimization in some way.
I would be interested to see a source on this.
Framerates are determined by how much the console has to process before it can display a frame. Apart from possibly setting an upper bound, FPS is a variable developers do not directly control.
The issue I am pointing is unintentional drops in framerate caused by game events. A developer can spend time testing their game, and tailoring the amount of processing each possible configuration of events and objects require so that at any one time, it doesn't exceed the processing budget allowed by the target framerate. That is optimization. If you do not do it, the framerate will be essentially random.
Low framerates are almost always completely unrelated to optimization. I can make a horribly optimized version of Tetris that still runs at 144hz on modern hardware.
Likewise, I can write a perfectly optimized game that still runs at 20fps on modern consoles.
Framerates are determined by how much the developer wants to push graphical fidelity/AI etc.