Not the least of which because of text size zooming for accessibility. The web is not print!
If a font has some weird characteristic about it (for instance, the font itself has built in whitespace at the bottom or top of letters), you will not be able to center it vertically no matter what CSS magic you try to do except for doing some kind of translation on it; that translation doesn't have to be pixel-based either, but it will 100% have to happen until hopefully when the leading-trim property that saadat mentioned is widely available.
Here, try to align these without changing individual p's CSS:
https://jsfiddle.net/a3q87ucs/
You see how the second text is lower. That has to do with internal font settings that CSS has no control of. Not yet at least.
No, it doesn't. Here's the screenshot with a line I added:
https://i.imgur.com/6pLiasn.png
> if you insist on ignoring that, https://jsfiddle.net/qpb0d45n/
And now you have blocks of different heights. Which cause other issues.
[1]: https://www.w3.org/TR/css-inline-3/#leading-trim [2]: https://medium.com/microsoft-design/leading-trim-the-future-...