"Amor" is a neologism in Romanian, much more recent than the Middle Ages suggested in another answer. Romanian dictionaries mark Latin as its origin, because it entered the language for the first time probably in the 18th century within the Transylvanian School movement which was committed to promoting Latinity. That couldn't have affected the common language though, as Transylvanian "Latinism" didn't have an immediate effect on the language (although it had a long-term effect). The term only became common in the 19th century under the influence of French. Amor was preferred to amur (closer to French pronunciation) probably because it had entered the language already, as mentioned, and because, like many French terms that entered Romanian, have been adjusted in order to fit the spirit and musicality of the language (which is closer to Italian) by following the Italian form - in this case the word amore. It is interesting to note that iubire is constructed with a Slavic root and with a Latin suffix
-re, the same as in the Latin/Italian amore. So, amore would have sounded natural too. Maybe it is the French influence that has privileged the amor form.
"Amor" had its glory days during the second half of the 19th century along with the development of the modern state, literature and journalism. The term is present in the literature of the most important writers of the time. Eminescu uses it, but much less than iubire and dragoste. The term had become so popular that the great satirical writer I.L.Caragiale uses and abuses it for parodical effect. Probably Caragiale had some influence in degrading the seriousness of amor, while Eminescu's love poems contributed to the promotion of iubire and dragoste and in pushing out amor, especially from poetic, romantic, amorous speech.
After that, the term starts to be seen as artificial and pretentious and to be rarely used. When it is, it's no longer in order to denote real, intimate, individual feelings, but rather an abstract issue, a general topic. Even then, the adjective amoros is much more frequent than the noun amor (e.g. afaceri amoroase, — "sexual/love stories/affairs", probleme amoroase — "love/sexual problems"). It kept some presence in the form a face amor (to make love), but that is less frequent than a face dragoste, with the same meaning. The above formulas are probably the only cases when the term is still used, otherwise it is extremely rare and only used parodically — just like the derivative forms amorez (lover), a se înamora and a se amoreza (to fall in love).
The shrinking meaning of amor separates it from the other two terms for love (iubire and dragoste) in a rather striking manner. "Amor" now suggests some parody, or the intention of the speaker to suggest that the "problem" is less serious than pretended, or that it's more about sex than love, or it expresses some distance between the speaker's feelings and what is discussed. The fact that "amor" is not used more often is also probably due to the fact that the term sex (now more under the influence of English than of French) has taken over the sexual semantic field.
The old presence of two terms with a similar meaning must have contributed to the lack of success of this neologism, considering that other newly entered words referring to feelings had greater success. On the other hand, it is interesting to note that just like in English, where Germanic words are sometimes stronger than their Latin equivalents (I remember a commentary on Churchill's famous radio speech), the older Slavic and originary-Latin words are more powerful in Romanian than the new French words. For example sentiment (sentiment) is weaker than the somewhat outdated simţământ (feeling),speranţă (hope) is somewhat more intellectual than the more visceral but outdated nădejde, and disperare (despair) is strong enough, but not as strong as the Slavic deznădejde (hopelessness).
The difference between iubire and dragoste is much more subtle, and very unstable. (I strongly disagree with the idea that "iubire" is less serious, as with much of the user22302's answer). Even if in many cases the nouns can be used interchangeably, there is a slight progress from dragoste to iubire towards more intimacy, acuteness, personal feeling, intensity of the erotic tension. Dragoste is slightly more impersonal and relaxed and, if it may seem more serious (as the other answer says) it is in the sense in which Romeo and Juliet "cannot be serious" (when in fact what they feel is dead serious). "Dragoste" may have the seriousness of maturity, of maternal love, of that between spouses, while iubire entails a tension, that is erotic tension. Dragoste is closer to suggesting confirmed love, its stability, and without the inevitability of eroticism suggested by iubire. (The formula mentioned in the other answer "iubire de-o vară" - summer love doesn't suggest the superficiality as much as the acuteness, the intensity of summer-hot passion, as well as it being as flitting as youth.)
In some cases where the two nouns are close synonyms, and can be used interchangeably, one sounds nevertheless more natural than the other. For example, "love for our country" is more natural with dragoste because it's more abstract and less erotic. The same is the case with motherly love. It greatly depends on the context and the vibrating nuance the speaker may add by using iubire. That culminates in the fact that the exemplary declaration of love I love you can only be translated as te iubesc. (Using the drag/dragoste terminology for I love you would give Îmi ești dragă/dragă or Îmi e drag de tine – meaning I'm fond of you or just I like you.) On the other hand, for "having sex" or "making love", one could only say "a face dragoste" (beside the very artificial but more and more frequent "a face sex"). That may seem a paradox, considering that iubire should be the more "erotic" term. It is not so. Like in English, such formulas are artificial, clean, safe ways of replacing the f-word, for which purpose the more indifferent, less intense term is preferable.("Sex" itself is a very neutral, non-erotic, almost clinical word.) In a religious context "God is love" can be translated with both nouns, but iubire is preferable when expressing a profoundly personal, intimate, fervent feeling.
Looking more closely, this difference is easy to explain. The nouns are more close to each other than the other elements of their families. A big difference is that iubire is closer to the English word love (and the Latin amor) through the fact that it is based on the verb a iubi, "to love", while dragoste is based on the adjective drag, meaning "dear". The verb a îndrăgi, also based on drag, only means "to hold dear". Although close to iubire, the term dragoste doesn't have the back-up of the real verb for "love" behind it: on the contrary, its non-erotic potential can be revealed in a case where somebody would say îmi eşti drag (you are dear to me) instead of te iubesc (I love you). In that case the meaning may be: I love you but I am not in-love with you, I love you like a brother, let's just be friends.
What keeps dragoste close to the fundamental meaning of iubire is the fact that from the noun dragoste resulted the verb a se îndrăgosti ("to fall in love").