I think ML is hard for anything, were incorrect/unexplaineable results can cost lots of money, or even physical damage.
Which is why 'ML in <DomainX> so hard', where the DomainX
are:
Medicine, day trading, autonomous vehicles, military and counter-terrorism operations, cyber-security activity attribution
Vs domains such as Consumer sentiment detection, some image recognition, satisfaction analysis, etc.
Because those domains do not penalize heavily for over-sold/under delivered promises.