Canonical likes to do their own thing. They do try to upstream their designs every so often, but their focus is Ubuntu. So the timing is not always right (e.g. code drop while GNOME is in various freezes), or no time to incorporate feedback from upstream.
I don't really see a problem with a temporary fork, but IMO that should be temporary. Also, things should be done carefully. E.g. gnome-control-center in Ubuntu 12.04 is already not doing the right thing for gnome-shell in 12.04 (they changed it to use gconf again, while gnome-shell looks in gsettings/dconf; see https://bugs.launchpad.net/ubuntu/+source/gnome-control-c...).
Differences like that is painful for upstream. Might result in upstream developers totally ignoring the bugreports from that particular downstream (just not worth the effort to figure out if it really is upstream, or another downstream change). Though as said, there can be value in temporarily trying something out (forking).