The reason a lot of companies charge extra for SSO is because it is a support nightmare. Most users can't tell the difference between "my SSO provider is broken" and "your service is broken" so they always blame the service, who now has to either tell the customer "talk to your SSO provider", which of course they don't like, or having to diagnose and fix SSO problems.

I agree that it should be a core feature, but I sympathize with companies that need to charge extra for it.

Plugging in my startup BoxyHQ here. This is the reason why we open sourced our SAML integration - https://github.com/boxyhq/jackson, it should be commodity.