These are actually the same story grammatically as the 좋다 versus 좋아하다 case.
싫다 means to be despicable or worthy of hate, to be awful. This is a descriptive verb.
싫어하다 means to hate; it is an action verb.
Koreans commonly will say things like ”싫어!" when they want to express displeasure about something. It is almost like the English "this sucks." (Albeit a little less idiomatic).
In English, we use the phrase "I hate this" to express displeasure about something. In Korean, they frame these feelings by describing the subject in question (I.e. The movie or the book or the person or the task). In English, we are move given to describing our feelings about the object in question. (These uses of subject and object should also give us a hint as to the grammatical difference between the two words).
Take the following phrases for example:
그를 도와 주기가 싫다 (literally translated) "Helping him is dislikeable."
나는 사탕이 싫다 (again, literally translated) "For me, candy is disgusting."
Note how these sentences directly describe the subject. The subject marker 이/가 is used. Although awkward sounding in English, these sentences sound fine in Korean.
Be aware that a dictionary or Google or textbook may translate these sentences into English as "I hate helping him" and "I hate candy." (Note how the English directly describes how the speaker feels, not the object of the hate!). These translations are "correct" in that they convey the appropriate meaning. However, they have technically changed the grammatical structure of the sentence.
So, long story short, 싫다 is a descriptive verb and 싫어하다 is its action verb counterpart.
Addendum: In answer to the question about when to use 싫어하다 over 싫다, I believe the answer can be summarized as follows: When you are speaking about your own self (so first person) finding something undesirable or worthy of despise, you can use 싫다. However, when you are speaking about someone else (second or third person) disliking something, 싫어하다 feels more appropriate. That is at least how I have seen it used before. Whenever the second or third person voice is being employed, 싫어하다 is the verb of preference it seems. I do not have any hard data on this, but this is how I personally have seen it used.