With any design you will sacrifice design for functionality, but with great design there will be no loss of functionality. The weakness of any design is scalability and user fragmentation. When users want to do different things or want something else out of a products it is very hard to design for all cases. Your example, the coffee machine, is a design challenge if the question "who am I designing for" is consistent. The wrench in the system there would be to ask "what if they want a stronger brew?" Here we find that the design could completely change by widening the scope of customers.
Hmm, very thoughtful @chruck, but we could build a coffee machine for majority of the population who might not want to bother with a stronger brew. We could make a sort of speciality machine who might want to try a stronger or a different thing.