The reason one would want to run multiple WP sites (instances) on a single MySQL database (instance) is that on some hosting plans you are only able to have one MySQL database. Using unique table prefixes for each site is one way to accomplish that.
So then ...
1. A MySQL 'instance' would be a single installation of the MySQL Server whereas a MySQL database 'instance' would be a single database within that server.
2. see the first paragraph :)
3. A WP 'instance' would be a single, unique WP 'site' or 'installation'
Cheers!
Lyle