Yes they are good, and it's great to be able to do simple tasks with just one line of code but there are points where you can't, or you need better performance, or ,or , or ...
In that case you would need to delve deeper, behind the abstraction layer and you would need to atually understand what's happening down there. If all you know is programming with all these abstractions without understanding what's actually happening underneath then you would be in for a surprise.
And with new technologies coming out on the hardware side all the time, more parallelization, 3D graphics, quantum computing (?maybe), the APIs to use them in software will also be complicated. Nobody said that IT is an easy field.