Errors are everywhere, and mechanical failures are especially common: buckled grain silos and cracked support columns are, justly, seen as an issue to be avoided. But flaws can also be used to design materials with unique functionalities. In the work presented here, we use two types of imperfections to create functional structures. First, we design materials that are locally stiff or soft, depending on how they are actuated, using topological imperfections: mistakes in their underlying architecture. Second, we create structures that shape-morph, because their individual elements fail, buckle, and snap- features that should be avoided otherwise.