The table below didn't translate properly, so take a look at the link if you want to see the full version.
Not sure what the better tool is yet, though Silverlight releases have been known to break old apps, so perhaps it's wise to wait until v2. before betting the farm on it...
Flex vs. Silverlight
Flex is available today and works.
Its still an Alpha
Flex 2 is viewable in 85+% of web browsers, Flex 2 SWF files run in Flash Player 9.
Silverlight will apparently run in Firefox, Safari, and IE on OS X, Windows, and Linux
You can use any HTTP Server and any back-end technology (.NET,JAVA,PHP,Ruby,CF, Python) with Flex via XML, SOAP, Sockets, ZLIB, Etc.
Silverlight does not require any back-end technology. One can double-click the HTML file on OS X and it works.
Flex 2 has a mature and growing component set. There are lots of developers creating open source components for Flex and the source code for all components is available today in the Flex SDK. See: Flexbox, FlexLib, FlexComponents for details.
Silverlight is new hence poor community support as of now.
Real-time data push with Binary Sockets using any TCP/IP Socket server. FTP/NNTP/SVN/POP/XMPP Example: http://webmessenger.yahoo.com
If you develop using Flex or AJAX you can port your app to the desktop using Apollo. Apollo allows you to build desktop applications for WIN/LIN/OSX deployed as a single .AIR file cross-platform. One toolset for Web RIA and Desktop RIA development.
Flex has gone fully open source Mozilla Public License. All compilers and framework will be available for extension and embedding within the Flex 3 SDK.
Flex requires ActionScript
Silverlight supports VB, C#, JScript, Python, Ruby, and any other .NET language