Flex 4 added some namespaces, while it still supports the Flex 3 namespaces. This can cause some confusion, more so since some classes are part of two namespaces.
While Flex3 used only one namespace (xmlns:mx="http://www.adobe.com/2006/mxml"), Flex4 uses 3 namespaces:
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
Note, that while there's still a mx namespace, the URI is different.
Each namespaces defines a component set. The old Flex3 mx namespace is still active but if you use it Flex 4 features will not be available.
The fx:namespace includes top-level AS building blocks such as Object, Array etc. but does not include any of the mx or spark component sets. It also includes some mxml tags, like <fx:script>, <fx:style> and <fx:declarations>.