CSS stands for Cascading Style Sheets. Basically it defines presentation semantics that is, how to display HTML elements. External style sheets, that are saved in CSS files; can save a lot of work. The main purpose of CSS is to enable the separation of document content from document presentation, including elements such as the colors, font etc. While, Flash is commonly used for adding animation, videos and basically interactivity to web design.
Considering the advantages of Flash, it provides a degree of freedom for the web designer. It allows you to place objects anywhere without worrying about absolute / relative constraints, resolution, z-indexes, browser consistencies etc. Secondly, it provides an interactive environment for more involved multimedia experience. You can incorporate sound as background voice, import videos, integrate any image formats. It also provides facilitating easy font handling, no reload etc. Along with these Flash comes with certain drawbacks like a plug-in is required, issues of video compression. Also generally search engines do not index content within flash videos.
Coming to CSS, it is easy to maintain your web design because we need to just modify external CSS files. It helps in styling your website without effecting the content. As opposed to flash, one of the main advantage is that the content is easily indexed by search engines. It is also much easier to develop between front end and back end. CSS is basically appreciated for its simplicity. On the other hand, its not compatible with browsers, and also it does not support multimedia with an ease when compared to Flash.
So to conclude, a good web design company would see that CSS has reached its peak and it can not do the things done by Flash and at the same time Flash is still improving. If you are designing a website, to appear in search results, then go for CSS.