Both your sentence and your friend's sentence have already diverted from the meaning of the original sentence.
The original sentence is "Carrie arrived at the airport two hours ago."
From that sentence, you cannot deduce whether Carrie is still in the airport or has already left the airport for the past two hours. The only information from that sentence is that "Carrie arrived at the airport two hours ago", she is at the airport two hours ago, but she may or may not be in the airport one hour ago. Both your sentence and your friend's sentence assume that Carrie is still in the airport, which cannot be deduce from the original sentence.
A more accurate rewrite of the sentence will be "Carrie reached the airport two hours ago" or "Carrie was at the airport two hours ago".
"Carrie has arrived at the airport for two hours" is not a correct wording of the English language.
"has arrived" is an instantaneous occurrence, whereas "for two hours" implies a continuous activity that takes place over an extended duration.
Carrie will "arrive at the airport" (instantly), but may be stuck in the custom/traffic "for two hours" (over extended duration). However, the concept of "arrived" and "being stuck in custom/traffic" are two difference occurrences.
Similarly, "Carrie has stayed at the airport for two hours" is also not correct wording, as "has stayed" implies an even longer duration (eg. two days) than two hours.
1It's grammatical. The action "arrive" is not progressive. But you can take "arrived" as the current state. It's like you are saying Carrie has been in the "arrived" state for two hours. – user178049 – 2016-11-07T09:16:34.293
4Please note that "Carrie arrived at the airport two hours ago" does not necessarily mean that she's still at the airport. She might have left since! Neither your own sentence, nor the ones in the answers, reflect that. – Mr Lister – 2016-11-07T13:06:03.457
24@user178049 Um, no. I know of no native speaker who would naturally use or even interpret Carrie has arrived at the airport for two hours to mean Carrie has been in the "arrived state" for two hours. – Alan Carmack – 2016-11-07T15:03:02.303
1Since it didn't take two hours to cross the threshold, nope. – Joshua – 2016-11-08T00:10:57.040
1Perhaps, in the British sense of the word, but it would be slang I believe and probably not the case at hand. – Shaun Wilson – 2016-11-08T08:13:01.533
3I'm not a native English speaker, but I'd understand that sentence as meaning "Carrie has arrived at the airport, and will remain there for two hours for before leaving" (i.e., Carrie has arrived at the airport for a two-hour stay), but I wouldn't be surprised if nobody else took that meaning. – muru – 2016-11-08T10:54:42.650
2@muru While not exactly standard, your interpretation is definitely valid – binaryfunt – 2016-11-08T18:24:49.983
1Note that the question explicitly requests almost the same meaning. The exercise is about changing form from simple past to present perfect. Of course those two mean different things. That's probably a point made in the material that preceded the exercise. – JdeBP – 2016-11-09T08:18:28.527
What is wrong with the sentence: Carrie has arrived at the airport two hours ago. – Rob – 2016-11-09T09:50:05.903
1Kalin's explanation is a valid one, but I thought I should warn you that it disagrees with the answer given by the Cambridge PET practice exam book. The original task is about providing the closest equivalent using no more than three words. In your example, the ending of the phrase has been omitted. Probably, I'm guessing here but I have used these books myself and helped students to pass the exam, the original PET exam sample had "Carrie _______ at the airport for two hours" – Mari-Lou A – 2016-11-09T09:55:01.410
1In that space the candidate has to provide between 1 and 3 words that fit into the sentence. Your question is different, and therefore you are right to choose the answer that you feel has helped you the most. – Mari-Lou A – 2016-11-09T09:57:45.943
1Ds@muru unfortunately, the sentence does not imply anything of the sort, without context, we can only guess what the situation might be. It could be that Carrie arrived on time but the flight has been delayed. It could be that Carrie misread the flight arrival time and just got there too early. It could be ANYTHING! :) – Mari-Lou A – 2016-11-09T10:07:42.410