Why use Blackboard instead of object

I have read this question about why not to use variables on the pawn directly instead of the blackboard. The answer given makes sense - decouples the AI from the pawn it is controlling.

My question is why use a blackboard and not a UObject-derived blueprint. This way you would have compile time checks on the variable names (i.e. wouldn’t have to use the error prone and tedious process of entering the keys). It also doesn’t seem to be any more tightly coupled, since to change blackboard would require the new one to have the same keys to not cause issues.

I also can’t see how there can be under-the-hood technical issues as you can store an object in the blackboard. So what is the design justification for the blackboard being implemented separately from a standard UObject?