IMHO it really depends on your traffic levels and type. There's no fast and easy answer.
If a LOT of your pages use the same styling, loading it on pages that don't use it can speed up those other pages? Why? CACHING!
CSS is typically CACHED. As such it's not loaded on each and every blasted page load, it's loaded ONCE when you declare it and then maintained across pages.
To that end loading CSS that's not in use on the current page can pre-cache appearance for sub-pages.
Which is why given that few if any legitimate website has ANY real reason to use more than 48k of CSS that would/should gzip to at least 2/3rds that, damned straight skippy, put it all in one monlithic file.
That said, there are plenty of cases where most users won't receive certain style. For example how many users are going to see the administration panel? Don't waste time sending that style with the normal sheet, 99.99% or more of your userbase will never see it.
It is also handy from a development standpoint to sometimes have page-specific style separate. It's just better for organization and/or expansion. In that case a SECOND stylesheet is acceptable as it's only one extra handshake.
But that's the limit. As I've said for a long time, there is NO reason for an entire site to need more than 48k of CSS in two files in all but the rarest of corner cases. Part of why these dipshit frameworks that start out with twice that amount of code or more are monuments to ignorance, incompetence, and ineptitude.