jMaki uses a publish-subscibe mechanism for communication between widgets - it's called glue. The layout is defined by CSS-themes - it is cascading, tree-like approach.
The general layout, which comes with the theme can be overriden by the widgets.
jMaki comes with XHP (XMLHttpRequest proxy). It allows the requests to be proxied to other domains. This is needed, in case a widget would like to communicate with a service from other domain.
With jMaki + Phobos you can run the script either in browser, or on the server. You can even move a component from browser to server. This is actually a cool feature.
jMaki will also support Rails - which should increase the adoption.
From the architecture point of view: jMaki is the API, where DOJO, Yahoo Widgets etc. are the SPIs. So the architecture can be compared JDBC :-)