Virtual keyboards are commonly used in banking sites because they have (at least) two neat pros:

* they protect the password from naive keyloggers
* they prevent the user from storing the password in a file

But they do have cons:

* specialized keyloggers can still spy the passwords (see @schroeder's answer for a more in depth explaination)
* then prevent usage of complex passwords (12 to 20 random characters) stored in a decent password manager like [keepass](https://keepass.info/)

As far as I am concerned, I do not like them because of that. But I must admit that they may add some security for non security aware users. The problem with them is that as they require a rather weak password (at most 6 to 8 digits), the bank could be blamed in case of compromise.

With standard passwords, users can choose a strong password (and are advised to do so). So if they do not, they are fully responsable in case of compromise and cannot blame the bank.