Why does Macbeth kill Duncan even though he knows it's wrong?(Does he kill because the prophecies tempt him, because his wife pushes him, or because he is greedy and ambitious?)
The wonderful thing about this question (and about your suggested answers) is that you can prove ANY of them with use of the text of Shakespeare's play. My absolute favorite one to prove is your second idea ("because his wife pushes him") because, in my mind, Lady Macbeth is best example of a most perfect villain. (Not to mention that it allows me to get some fun Elizabethan feminism in there.) However, because Macbeth is a perfect example of a Shakespearean tragedy and because the tragic hero in such a story must have a tragic flaw, the real "textbook" answer is your third idea ("because he is greedy and ambitious") evidenced by Macbeth's own words condemning him to the fault of "vaulting ambition."
In my opinion, the main thing that ends up convincing Macbeth to kill Duncan is his own ambition. However, it is important to realize that these ambitions have been set off by the witches' prophecy.
If Macbeth were not an ambitious man, he would not have gotten to be as important as he was even at the beginning of the play. But just those ambitions alone were not enough to make him kill Duncan. Macbeth does not decide to kill Duncan until the witches give him this hope that he may become king.
So I'd say that the basic cause is his ambition, but that the witches' prophecy acts as something of a catalyst to make his ambitions work more quickly.