The control panel editing experience creates an abstraction from the page quite deliberately. That abstraction is needed in order to be able to make use of the technology in the way that best serves the client. I don’t believe the direct-manipulation metaphor (i.e. on-page editing) can be maintained whilst still offering the labour-saving benefits of managed content.
The Lure of On-page Editing — Drew McLellan.
At a CMS level on-page editing is going to be problematic at best. You never know what sort of adjustments a theme or user has made to the user facing side. That level of uncertainty increases the developer work load quite a bit. Then there are the less tangible portions that need editing, which makes the experience even more confusing.
At a higher level though, there are situations where on-page editing is a big win. The P2 WordPress theme for instance supports on-page editing of posts and comments. Because the theme layer is further up the stack the effort to maintain consistency and good user experience is easier to manage.
If I were to attempt to generalize this into a guideline: on-page editing should be placed on a layer that is as close the user as possible.