Both sound the same, but their origins may help you understand:
horrible:
ORIGIN Middle English : via Old French from Latin horribilis, from horrere ‘tremble, shudder’ (see horrid ).
Terrible:
ORIGIN late Middle English (in the sense [causing terror] ): via Frenchfrom Latin terribilis, from terrere ‘frighten.’
Also, terrible is often used for something very bad, such as a "terrible idea". While you could say "horrible idea", "horrible" in that case makes the idea not just bad but also dangerous. I guess, I consider "terrible" to be less extreme than "horrible", but you will often find it often doesn't matter.