I couldn't agree more and this is my main objection to "AI will replace [insert any job here]".
A lot of problems are inaccessible to programmers just because not enough of them seem to be willing to understand them. Complex rules about accounting in large companies seems to be one of them for example. This is why I think AI will certainly overtake many professions but mostly professions that are required on a large scale and that are easy to understand: driving, cleaning a house, building a house, ironing, cooking, assembling objects, etc. For complex accounting or legal issues, I am a lot more skeptical. You don't need complex AI to run accounting systems, they can easily be done with regular software. However in large companies you still have huge accounting departments booking and maintaining these complex logics by hand (excel), a lot could be automated now. And the same reason why they haven't been automated in C# now will apply to AI in the future.
All that physical, real-world stuff you mentioned (cleaning, cooking etc) is vastly more complicated, riddled with experience-driven subjective judgements (is this paper on the floor trash or should I put it back on the desk?) and highly situational. Extremely difficult to generalize and handle with an AI. Not to forget it’s messy stuff in the real world, with engineering and hardware and grease and failures.
If you look at self driving cars, they are already doing the sort of wizardry of your trash example when analysing the other objects in sight.
And again it's not so much a matter of technical complexity, it's a matter of the domain being inaccessible to those who can best automate it.
These are exactly the types of problems that machine learning is perfect for. Problems which involve chains of nebulous decisions that would be difficult to program traditionally.
This is a crucial point to me. Being able to code is good, but being able to code well while also having an intermediate or expert understanding of the domain that you are working within is what is going to set you apart in the long run.
In the industry, developing software can usually be seen as the process of creating a tool that will help to better solve a problem. It seems strange to me that you would want someone who doesn't have a solid understanding of the nature of the problem (or the solution) to be designing and building the tool, just because they claim to be good tool-makers.