Why are ideal filters not particularly useful/ hard to do?
You can only make a finite-order digital filter, since you don't have infinite CPU capacity, infinite RAM, infinite numerical precision and infinite time to wait.

With a finite-order filter, the Z-transform will be an analytic function over the complex domain. The frequency response is the Z-transform evaluated over the closed path $z = e ^{j\Omega}$ (i.e. the unit circle), where $\Omega$ is the frequency.

An analytical function evaluated over a path will result in an infinitely derivable and continuous frequency response (property of analytical functions, as long as you don't step over poles).

An ideal LPF is discontinuous at the cutoff frequency. So not possible to implement.

In practice, since the ideal LPF is a discontinuous frequency response, adding more coefficients to your filter will converge slowly to the desired frequency response (convergence is in mean-quadratic sense, which is slow). So you will end up with a filter with many coefficients, bad frequency response, lot of delay, and lots of roundoff errors.