You got a lot of good comments on your other post so I won't reinvent the wheel.
But the biggest thing is:
On Klipper virtually all of the computation is done on the Linux Host side. The MCU (printer control board) simply acts as a bridge to pass those low-level signals on to the various components.
On Marlin with OctoPrint, the MCU is still doing all the thinking. OctoPrint is simply streaming clear text gcode lines to the MCU and the MCU must compute the low-level commands necessary to manage the movement and all the components like fans/etc.
Some of the benefits to this are:
- you can easily use multiple MCUs on one printer
- you do not need to reflash the MCU virtually ever, certainly not for basic config changes
- we can use the pins/sensors on the pi
- more advanced features like macros and Jinja are possible because they are executed on a modern Linux CPU.
- etc