userdata substitutions are raw data substitutions. They basically just output database stored values, but supports changing the user. So in short they're the same as using [FIELD_NAME] except with parameters. userfield substitutions (e.g. [cb:userfield field="avatar" /]) should be outputting the default avatar if there isn't an avatar uploaded. The default avatar can also be changed in the avatar fields parameters in CB > Field Management.