Since seeing MR I have been puzzled over the ending. Last night, I realized something that has really helped. Agent Smith is deleted. It comes down to purpose. Agent Smith's purpose is to kill The One. We are told many times that once a program's purpose is fulfilled it is deleted. Neo sacrifices himself to fulfill Agent Smith's purpose, and thus make Smith elegible for deletion. Upon absorbing Neo, Smith is confused and wonders aloud, “is it over?”. Neo/Smith nods with a big grin. The machines then issue the command and announce “it is done”. This explains why only Neo and the machines together can kill Smith.
Earlier, Smith philosophizes with Neo, saying “the purpose of life is to die”. That is, the purpose in life is to identify and fullfill your purpose. By doing so, you will die.
Only at the end of MR is Neo truly The One. Why? To become The One you must free yourself from all systems of control. In the end Neo simply refuses to die, to “have an end”. Smith: “Why, why get up? Why keep fighting? [...] Is it freedom [...]?” Neo: “Because I choose to“. Neo has attained ultimate free will. For that, the machines honor him by raising his body to the sky. Morpheus (M1): “Free your mind“. Note that Smith finally calls Neo by the name “Neo” (not “Mr. Anderson“) when he says “Everything that has a beginning has an end, Neo.” Does this mean that the Oracle was dominating him at that moment, or does it mean that Smith has accepted that Neo is The One? If the latter, then it explains why Neo must survive until that moment. Smith immediately says “What did I just say?”. That too can be taken either way. Could mean that he didn't hear himself, or that he is reacting to his own word choice.