[holy opinion on demo coding]
Demos coded in ASM ALWAYS look better than ones coded in high-level languages. ASM allows you to run your calculations faster, communicate with hadware faster and directly... and most importantly, your program runs EXACTLY how you write it - as opposed to being translated from what you code to what your compiler thinks it should be and your poor system trying to do it's best to do what you want.
[/holy opinion on demo coding]
Before coding in any language you have to look at what you need your programs to do. If they need direct hardware access, or perhaps just need to be small and fast, then you want to use ASM. If you need platform portability, then C or another language is in order. And of course if you just need something quick, dirty, simple and perhaps temporary... There's always scripting languages! :-D