Right now it’s a bit annoying to deal with watchonly wallets, many rpc commands have an include_watchonly argument that needs to be explicitly set.
Wallets created with createwallet can have a disable_private_keys parameter, for those wallets we already know that they are watchonly, so there’s no reason to have to explicitly ask for it for every command. Instead we check this wallet flag when the include_watchonly parameter isn’t set.