The print function is clearly a better, more precise way to handle it, to be sure...
But the print statement was one prominent, attractive way that Python was essentially pseudocode-- its removal seems an improvement from a pedantic sense, but one that seems to run contrary to convenience and (perhaps) the expectations of a beginner.
I disagree about this being worse for beginners - if we're teaching a new programmer about functions, surely a basic print function is a great introduction? Whereas before it was a one-off special case.
As a beginner, I ~hated~ the print statement. The print function had analogous syntax to all other functions, whereas the print statement always seemed to use some kludgy tricks.
Why is changing 'print stuff' to 'print (stuff)' such a big deal?
I think 2To3 solves a lot of print cases https://docs.python.org/2/library/2to3.html