Core plugins are designed for simplicity...
As I wrote about it earlier, Helmut rewrote some core plugins in C. It was maintly done with efficiency in mind.
As those plugins are only parsing one
/proc file, there seemed
no need to endure the many forks inherent with even trivial shell programming.
It also acknowledges the fact that the measuring system shall be as light as
Munin plugin are highly driven towards simplicity. Therefore having shell plugins is quite logical. It conveys the educational sample purpose for users to write their own, while being quite easy to code/debug for the developpers. Since their impact on current systems is very small, there are not much incentive to change.
... but efficiency is coming !
Nonetheless, now monitored systems are becoming quite small.
Now the embedded C approach for plugins has a new rationale.
 Usually datacenter nodes are more in the high end of the spectrum than the low-end.