The basic difference between keywords and subjects is that subjects (or "subject headings") have been predetermined, while keywords have not. A keyword is an easy place to start because you can use any word that seems to fit your search; this is called "natural language" searching. You may notice that you'll always get at least several results this way, but they may not all be relevant. This is because the catalog will bring up any result that has the word you used anywhere in it's record (the record is the information you see in the catalog, including the title, description, location in the library, etc).
Searching by subject, on the other hand, will usually bring back less results but they will often be more accurate. However, in order to search by subject you have to know the word or phrase the catalog uses to describe your topic in the "subject heading" field of the record. Since the possible terms for subject headings have been predetermined, if you don't know the exact term it may seem like there are no results on your topic. But that's probably not true! If you are having trouble finding the correct subject heading and/or keywords for your topic, don't hesitate to ask for help at the reference desk or contact a librarian.