The main difference is that PMs allow per-topic “permissions”, and categories have permissions that apply globally to all topics.
PMs are the only place in Discourse where you get per-topic “permissions” regarding who gets to see the topic – by adding people to and removing people from the PM.