Say we have a single-input linear system $\dot{\mathbf{x}} = A\mathbf{x}+Bu$. With full-state feedback ($u=-G\mathbf{x}$), it is straightforward to arbitrarily place the $n$ closed-loop poles (i.e., the eigenvalues of $A-BG$, or the roots of $sI-(A-BG))^{-1}=0$) by selecting the values of $G$.
I'll give a brief example: $\dot{\mathbf{x}}= \begin{bmatrix}0&1\\-a&-b\end{bmatrix}\mathbf{x} + \begin{bmatrix}0\\1\end{bmatrix}u$.
Say we want the poles of the closed-loop system to be at $-1$, i.e., we want the characteristic equation to be $s^2 + 2s + 1 = 0$. We can achieve this by choosing $u = \begin{bmatrix}a+1&b+2\end{bmatrix}\mathbf{x}$.
As long as the system is controllable, the plant dynamics don't matter -- with full state feedback, we can always cancel them and place the closed-loop poles arbitrarily.
However, I don't fully understand why we aren't able to arbitrarily place the closed-loop poles in the classical transfer function/block diagram approach. Consider a unity feedback system with control transfer function $G_c(s)$ and plant transfer function $G_p(s)$.
The closed-loop transfer function from reference to output is
$$\frac{Y(s)}{R(s)} = T(s) = \frac{G_c(s)G_p(s)}{1+G_c(s)G_p(s)}$$
It seems like I can always pick a $G_c(s)$ to give me the desired closed-loop transfer function $T_d(s)$, i.e., by rearranging the above equation to solve for $G_c$:
$$G_c(s) \stackrel{?}{=} \frac{T_d(s)}{1-T_d(s)}\cdot\frac{1}{G_p(s)}$$
This seems like the Laplace domain analog of the state-space approach I described above. So why don't we do this? I can imagine several reasons this might go wrong:
Perhaps this approach always gives the desired response from reference to output, but gives undesirable disturbance or noise responses due to pole-zero cancellations between the controller and plant.
Perhaps the resulting control transfer function can't be implemented physically? Say the resulting $G_c(s)$ is improper - does that mean it is "unrealizable"? Would this imply that it can't be implemented?
Are there other reasons we don't use this approach?
--
Update. I've applied the proposed transfer function approach to the state-space system I described above. The plant transfer function is $$G_p(s)= \frac{1}{s^2+bs+a}$$ My desired closed-loop transfer function is $T(s) = 1/(s+1)^2$ to place the poles at $-1$. So my required controller transfer function would be
$$G_c(s) = \frac{T_d(s)}{1-T_d(s)}\cdot\frac{1}{G_p(s)} = \frac{s^2+bs+a}{s(s+2)}$$
so I'm effectively just using the controller to cancel the plant poles in $GcGp(s)$. This makes me think that perhaps disturbance response or noise rejection would be a limitation with this design. However, I am still missing an insight into why this is a problem using the transfer function approach but not the state-space approach.
edit: added bounty.