I've seen plenty of badly software architecture that meets the functional spec, and vice versa. Abstract theory let's us understand what ideal solutions look like, providing a framework to consciously manage form vs function in a resource-constrained world.