How is real-time rendering different in blender from game engines?
Well, Blender isn't a game engine, and it's not designed to perform final animation renders in real-time the way a game engine does.  The design goal of the EEVEE renderer is to provide real-time or near-real-time previews and fast (but not real-time!) high-quality final renders.  As mentioned on the development page, it uses gaming rasterizer techniques to render quickly, but it is not a gaming renderer itself, and it targets high quality final renders that aren't subject to a fixed frame rate.
So, for the soft-body example above, you should be able to easily achieve a 30 FPS render in preview mode (with full PBR-like materials and lightning, even without baking the physics, since the physics aren't very complicated), demonstrating that EEVEE can, in fact, render animations in real-time by cutting various corners, but the final render with default settings will be higher quality and quite a bit slower (1-2 FPS seems about right).  I don't think Blender exposes a sufficient number of settings that would allow you to perform the final render at the same speed as the preview.
You could request such a feature (basically a checkbox to reduce the final render quality to the preview-level quality), but I don't think there would be much interest, because most Blender users aren't looking for real-time final renders; they just want fast previews.  That's because they're either using Blender to develop assets for true real-time game engines (and so just need a fast preview to see what they're doing and have no intention of using Blender for the final render), or they're planning to render a high-quality still image or fixed animation and want to prioritize render quality over render speed.