The default runtime image used to execute a Bash step is a NodeJS image that matches the OS of your node pool. For a PowerShell step, the default is a .NET Core image. In both cases, the version selected is configurable as part of the Pipelines installation and an administrator may have configured a different default image in your installation. The default is usually most appropriate when your steps will only execute shell commands that are not specific to a language.
For native steps that perform language-specific operations (for example, MvnBuild or GoBuild), the default runtime image will be one appropriate to that language. Similarly, the runtime image chosen will be one that matches the OS of your node pool. Native steps without any language-specific operations will use the same default image as Bash on Ubuntu or CentOS and the same image as PowerShell on Windows Server.