A large number of shell instances are started as part of the Ubuntu boot process. Those are executed in system shell.
A login shell is the first process that executes under your user ID when you log in for an interactive session.
You get a login shell when you login and obtain a shell providing your user id and password in an interactive manner.
For example
- [i] tty login using Ctrl+Alt+Fn (n=1 to 6, n=7 is the GUI)
- [ii] ssh login etc.
When you login to X system you also get a login shell. A login shell reads /etc/profile and ~/.profile (in absence of ~/.bash_profile) if your default login shell is bash.
The default login shell is bash, it is not changed.
Bash is an excellent full-featured shell appropriate for interactive use. However, it is rather large and slow to start up and operate by comparison with dash.
To speed up the boot process the Ubuntu core development team changed the system shell, /bin/sh to dash.