My vision for a "traditional" IC is someone who sits in front of a computer and writes computer programs. This kind of role ends at senior, or if you are lucky, staff. A principal engineer is much more likely to be in a meeting heavy environment, coordinating with many teams and driving alignment towards some vision. While this is not strictly managerial work, at least to me, it seems to fall much closer to "senior manager" than "software engineer".
Thats totally fine for folks who thrive in this kind of role. However, it does take away the ability to grow your career if you want to keep developing software. So for example, if you program for 20 years, and keep improving during this time, you would expect to be rewarded with some career progression for the progress you've made in years 10 - 20.
But as it stands, these days, if you run into someone who has been programming for 20 years, you can assume their career has mostly stagnated, and might even count them off as a low performer because they failed to grow. So it's almost a self fulfilling prophecy - staying a "true" IC has no growth, and therefore there is an incentive to just sit back and stop growing.