According to Philippa Gregory, Margaret Beaufort had the best motive, because with their deaths her son Henry became 2 steps closer to the throne, and also she hated Elizabeth Woodville.
closed as primarily opinion-based by Tyler Durden, Kobunite, Pieter Geerkens, jwenting, Louis Rhys May 25 '14 at 6:54
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
The princes were a significant roadblock to Henry's ascension to the throne.
Even though Richard III had the princes declared illegitimate in 1484 by way of a Titulus Regius, Henry's claim to the throne was tenuous at best (some 20+ ahead of him in succession).
He needed to marry into the royal family and re-legitimise Elizabeth of York by repealing the Titulus Regius. The problem with that is that in doing so he would also re-legitimise the princes. If the princes were alive, Henry would have no legal claim to the throne at all.
With them out of the way, his claim would be extremely strong as the husband of the rightful queen (although in practice no woman had ever become queen of England and wouldn't until the accession of Elizabeth's granddaughter Mary 60-odd years later).
Whether it was Margaret or Henry who killed the princes - or indeed any other actor (Henry Stafford, Thomas Stanley) - we shall never know, but it is possible given the circumstances.
Interestingly, some suggest that the princes survived (pretenders not withstanding), though this is just speculation.