You'll probably get better answers from some of our other folks here, but: Urdu is a natural language, closely related to Hindi. It has many loan words from Arabic, Turkish, Persian (Farsi), and probably a few others, like Pashtun. It separated from Hindi probably mostly because it was spoken by Muslims rather than the Hindu Hindi speakers. Esperanto is a constructed language. The vocabulary and grammar were devised by Dr. Ludovic Zamenhof. The vocabulary is, as you noted, largely Romance but there are also a number of words of Germanic origin.