I came across this great post by Amanda Luker of the Drupal consulting firm Advomatic: Designing for Drupal: Dos and Don'ts. It describes some key principles that designers can use to ensure their designs are reasonably build-able in Drupal: "reuse, flexibility and standardization."
It was refreshing to see this post, because, yes, almost any design can be built in almost anything. But if you're on a budget, it can be costly to implement a design that isn't "CMS aware". Can I build that in Drupal? Yes, I almost always can. Is it always a great idea? If it doesn't leverage native Drupal features in a strategic way, and its complexity isn't serving an organizational mission goal, then it's not the best use of money or time. If the design cannot be built in a way that allows for growth, flexibility and evolution, it can even get in the way of more practical, strategic innovations down the road. So though your new site may look perfect on launch day, it might not be the most excellent website you could have built.
Everyone wants a usable site, and they want it to look great and stand out. All of this is possible in most widely-used open source content management systems, including Drupal. But you can't have everything. Most organizations must strike a balance (this reminds me of Michelle Murrain's great post about the cheap, fast and good triangle). I have a client right now whose mantra is "the perfect is the enemy of the good." I really think this is true, in life, and about website building. I'd go so far that the desire for perfection can get in the way of excellence. Awesome things can be accomplished on a budget with a well-balanced compromise between design and functionality, using mission as a filter to ensure the project is hitting its strategic goals. It might not be perfect, but it can be really, really excellent.