I really don't understand why embedded systems use D-bus in its current form.
Wild guess: because accommodating the extra RAM and nonvolatile storage consumption is easier than taking an existing thing (or things) they want to use which happens to use dbus and rewriting it to not use dbus.
A lot of embedded systems that rely on bluez keep D-Bus around to service it. It's my understanding from an article (on LWN?) that the Android team is creating an alternative bluetooth stack at least in part to get rid of D-Bus.