In many Germanic and Romance languages, the perfect tense is formed with the verb 'to have' or 'to be' plus a past participle. It's easy to find explanations ["I have an arrow (which is) made (by me)" --> "I have made an arrow"] but how did the same construction become so widespread over two branches of I.E.?
The issue of the analytic perfect has been studied in the context of grammaticalization but I'm not sure that any one explanation for the spread of the construction has been agreed (perhaps somebody who knows the literature can elaborate). Most likely, different processes led to the emergence of the construction in different contexts.
The analytic perfect is also the feature of the Balkan Sprachbund meaning you can find it in Albanian and Greek as well as Romanian (Romance) and Macedonian (Slavic). This lends credence to the sprachbund explanation. The construction spread through areal contact and borrowing rather than through historical descent (although historical descent will have played a role in some cases).
But it would still be interesting to speculate as to the mechanism of the spread. Generally people talk about direct borrowing or imperfect learning as the main contact change mechanisms. Direct borrowing is a much harder case to be made with syntactic constructions but when one looks at the languages involved, it would be hard to construct a scenario where imperfect learning could account for the change.
Another possibility is simply parallel independent development. One of the features proposed as common to SAE (Standard Average European) was an analytic passive with a copula and a participle. It seems plausible that many languages could develop this type of perfect construction drawing on this features. Perhaps reinforced rather than directly introduced through contact.
It is also important to note that SAE tense and aspect systems are quite complex both diachronically and synchronically so looking at one form in isolation may not be the right approach.
This construction comes from Latin in the language families you mention but it's not unique to Germanic and Romance languages. This kind of perfect is fully grammaticalized in some Macedonian dialects (Macedonian is a Slavic language), e.g. ima bideno "has been", ima imano "has had", etc. There's also a similar construction in Northwest Russian which expresses possession with a PP and has an analogous perfect tense, cf. u menja dom "I have a house" vs. u menja vse sdelano "I have done everything". In the Lithuanian (i.e., Baltic) dialects of Belarus there's an identical construction: Possession is expressed with the adessive case and so is the agent in a structurally identical perfect. Since neither Russian nor Lithuanian were influenced by Latin there seems to be a general tendency to this kind of grammaticalization as far as the perfect tense is concerned, the other being the be-perfect (e.g., ich bin gegangen "I went" in German). In fact it occurs in many languages but in most of them it's not fully grammaticalized.
Using "to have" to show perfect is a key feature of the European sprachbund. It's happened repeatedly in European languages. For instance in Latin, than later with a new word for "to have" in descendant languages when the last round of suffixes have become worn down to invisibility. It's a "language hailing from Europe" quirk, and I think "sprachbund" is explanation enough.
I wouldn't call it widespread though: http://wals.info/feature/68A
It might be relevant that the Germanic and Romance languages don't have active past participles, as many other languages do (Indo-European and otherwise). E.g., in English one says "The food was eaten" but not *"The man was having-eaten the food", where "having-eaten" would be the active equivalent of the passive participle "eaten".
Thus, the have-perfect construction (have eaten, etc.) may have spread because it helped to create "symmetry" -- i.e., it created an active counterpart to past passive constructions like was eaten. (However, it's also possible that Germanic and Latin/early-Romance already had a counterpart construction like this, and the have-construction replaced it -- I don't know all the relevant history here.)
Since the Slavic languages do have past active participles -- e.g. Slovene jedel literally means "having eaten" (masculine singular), spal means "having slept", and so on -- it is not surprising that the use of "have" for the perfective has not widely spread to Slavic in the way that it has to Germanic/Romance, since Slavic does not have the same kind of "gap" to be filled. (It would be interesting, though, to know why the "have"-construction has taken root in some Russian and Macedonian dialects, as mentioned above.)
The Russian constructions literally mean "At me house" and 'At me all done' respectively. Since there is no 'have' verb used here, we cannot talk about parallels between these sentences and the have-perfect of Mediterranean-Euro-Atlantic languages. The discussed Russian constructions have their counterparts in Polish. The first one would be 'Ja mam dom'. Here 'Ja mam' means 'I have' and it refers to the fact of possession. The second Russian sentence in Polish must be rendered as 'U mnie wszysko (jest) zrobione (*At me everything (is) done). The verb have (mieć) is not used at all. The message is more or less 'In my section everything is done,' with no indication that the speaker has done it himself. The sentence 'Ja mam zrobione wszystko' (literally 'I have done everything') in Polish means that the job has been done by or for the speaker, with no indication of who has done it. It is not the equivalent of the Mediterranean-Atlantic have-perfect. Furthermore that construction works only with the verb meaning 'do/make'. A sentence '*Ja mam zobaczone wszystko' (literally 'I have seen everything') is meaningless in Polish. As far as I know Slavic Languages do not have the have-perfect construction, with the possible exception of Macedonian quoted above. I would like to know if the have-perfect constructions can be used in Macedonian with participles other than the equivalent of the English 'been,' and ’had.
The Latin perfect feci was later substitued by habeo factum (I have made, perfect with habere to have). This new system abolished with one stroke those numerous perfect forms that have become irregular.
I didn't have time to search for full information about the upcoming of the habeo perfect, here only some short information
We don't know what is behind the Latin verb endings of the perfect tenses, but they didn't fall from heaven. If you compare the endings of past perfect
veram veras verat verámus verátis verant
it looks like the forms of esse were the source: eram eras erat erámus erátis erant or the forms fueram fueras etc.
If you look at the endings
ueram ueras uerat etc
It looks like the source might have been forms of habere ( to have)
habueram habueras habuerat etc
Maybe the forms of esse and habere melted together and gave one basic set of morphems for the perfect tenses. (f)ueram and (hab)ueram can easily become one morphem.
Assuming that this theory has some probability then the invention of the habeo perfect was nothing else but the shifting of habere at the right side of the verb to the left side of the verb. The advantage was enormous, no melting process, no irregularities.
Here is another link to a website about the habeo perfect
Read the passage On the use of habeo + perfect participle in early and late Latin.