Controlling remote Drupal sites with Drush
You have a lot of questions there, but I'll try to give you the best overview of how to do this easily.

First, note that though Drush is listed as a module on Drupal.org, it is not technically a module as you don't "enable" or "disable" it like other modules.


Yes, Drush must be installed on the remote site.  When you do so, make sure to install the same version that you have installed locally.  It may still work if you're using different versions, but it can also cause strange bugs that are difficult to troubleshoot so always try to keep the same version.
It's certainly easier if you have SSH set up for some of the Drush commands.  Your web host should be able to help you with getting SSH keys set up for your local machine.
Yes, you will need to provide DB credentials.  This can be done by following the example in drush/examples/example.aliases.drushrc.php in the drush folder.
No, I don't think so.
You do not need to set up the alias on your desktop unless you are going to be logging in to your remote server and using aliases there.


Basically, if you have SSH working and have installed Drush on the remote server as well as your local machine, then, once you set up an alias, you can type something like drush @myremote status and it should work.