Why is the definite article introduced in the English translation here?
Simple rule: a noun (singular and plural) drops the definite article when it is both (1) immediately preceded by a preposition other than "cu" AND (2) not qualified by any other words.
the difference, at least in this case, is the fact that "cal" could refer to a horse in general and you don't have to say anything more about it. on the other hand, "calul" asks for details about it so we would know about what exact horse you are talking. ex: eu stau pe calul care mănâncă = i stay on the horse who is eating. or eu stau pe calul meu= i stay on my horse. there are some situations where you could keep your sentences "unfinished" without problems. ex. îmi plac merele.= i like apples.