Without an index every row in a table has to be read and compared to find the one(s) to select based on the WHERE clause and JOIN conditions.
When you create an index, another file is created that contains only the columns that will be searched, and they're stored in a data structure that makes searching for a particular value very fast (usually a tree).
If you have a slow query, look at the WHERE clause. What columns are you using? Those are probably the ones that should be indexed. Most DBMSs have tools to help figure out where the problem is (EXPLAIN, SHOWPLAN, etc) but you should be able to guess fairly simple queries by looking at them.
Creating an index is simple:
CREATE INDEX blahblah ON TABLE MoreBlahBlah (columnblah1, columnblah2)
To get rid of one that didn't help:
DROP INDEX MoreBlahBlah.blahblah
There is a lot more to indexes, but this should get you started.