How is Turing's Solution to the Halting Problem Not Simply "Failure By Design"?
In what follows, I'll distinguish a machine $M$ from its description, denoting the description of $M$ by $\langle M\rangle$.

Specification of the halt tester program, $H$


  $H$ takes as input a pair $(\langle M\rangle, i)$, where $\langle M\rangle$ is the description of machine $M$, and $i$ is the input required by $M$.
  
  $H$ halts on any input pair $(\langle M\rangle, i)$ and returns the correct answer, namely:
  
  $H(\langle M\rangle, i)$ returns true if and only if $M$ halts on input $i$.


Now, assuming that there is such a machine $H$, we can use $H$ as a subroutine to construct a program $P$ as follows:

Specification of the "perverse" program $P$


  $P$ takes as input a description, $\langle M\rangle$, of a machine $M$.
  
  $P$ works correctly on any input $\langle M\rangle$, namely
  
  $P(\langle M\rangle)$ halts if and only if $M$ doesn't halt when given input $\langle M\rangle$.


The key to this argument is that if we can define a machine $H$ that satiffies the specification above, then we can build a machine $P$ that satisfies the second specification.

However, $P$, when given $\langle P\rangle$, exhibits impossible behavior,

$\qquad\qquad\qquad P(\langle P\rangle)$ halts if and only if $P(\langle P\rangle)$ doesn't halt.

So $P$ fails to meet its second requirement on at least one input and consequently it must be the case that $H$ cannot satisfy its requirement, so consequently we cannot make $H$ as specified.

Now $H$ might very well behave as specified on lots of inputs $(\langle M\rangle, i)$, but the point is that no halt tester can be built that works on all possible inputs.