If I am writing XAML, do I have to use Expression Blend or Visual Studio, or are there alternative tools around?
This one looks quite nice. A lot better than Blend anyway :-)
This site offers a few more examples as well.
Are you designing graphics/assets with XAML or creating user intefaces for applications?
If you're designing, you have a lot of options. Expression Design, of course, but there are good converters out there to get XAML from powerhouse formats/apps like Adobe Illustrator.
If you're coding, while Blend has severe UX shortcomings, it has a pretty solid feature set -- far more than any alternatives I've seen so far. There are alternatives, though, as Dave pointed out.
Depends on what you want to accomplish and how much money you are willing to spend. As Jay said, if your main goal is to code your application go for Visual Studio (and get Resharper if you can, makes your life way easier). If your goal is design, go for Expression Blend/Design.
XAMLPad can also come handy (it shows you a nice preview for your code too) and it is very light weight.
+1 for Kaxaml as well.
There is an open source application called XDraw on CodePlex if your interested in creating drawings using XAML. There also was a product called Vector Architect which looked pretty slick but it looks like the authors of this application have stopped selling it.
So far I've been pretty disappointed by the tools out there for creating graphics and/or designing UIs with XAML including Expression Blend and Expression Design. The tool that think is the best for WPF based UI is Visual Studio 2010 but it definitely has its limitations when dealing with assets in resource dictionaries.