Like Delphi, and unlike most other IDEs, Lazarus has (almost) Live-View of the form, controls, etc. in the designer: If, for example, you add a ShellTreeView to your form and change its Path property, the design view reflects this choice, as if the program were running.
The price of this is that the IDE has to be able to
run the code of that control. Delphi does this by loading a special kind of DLL which is created when you compile/install the packages, so it doesn't need to recompile (which would be difficult, seeing that is released as binary-only).
Lazarus, though, doesn't (yet) supports these "dynamic packages" (as Cyrax said) so the only way for it to "run" a packages's code is to include it within itself, which can only be done by recompiling the whole IDE.
Most other IDEs don't have this "live-preview" feature, so they don't need to be recompiled. Note that there exceptions even here: some (badly designed) IDEs (don't ask me to name it) require a recompilation to use some plugin(s). Beter avoid those, though