'Better' (or 'had better') is used to describe a situation, without emotion.
I had better go now = It would be better if I go.
i may not want to go, but the situation tells me I should
'Rather' is used to talk about a feeling or wish on the part of somebody.
I would rather go. = I would like to go more than stay.