That is the million dollar question. You are correct in saying that he usurped the throne from his nephew Edward. But Edward was never a legitimate heir, and this stems from two reasons. First, Edward IV’s marriage to Elizabeth Woodville was never considered valid, and second, Edward himself was a bastard child, his mother a mistress in Brittany. The Woodville family also held a lot of power when Edward IV died, and planned to execute Richard who was very popular in the North and with the gentry. However, he found out their plans first, and was able to out-maneuver them. England would have fallen into another civil war had Edward V been crowned king.
As for the death of the princes in the tower. Most of the evidence points to Buckingham, who made an unsuccessful attempt at seizing power from Richard, despite being his closest ally. The princes were indefinitely in Buckingham’s way to the throne, as Buckingham could also make his claim to the throne (although weakly). There are also other reasons for Richard’s innocence, but the matter is still widely open to debate and probably will be for all time. The Tudor dynasty falsified a lot of the history of that period to make their bloodline look better than it was.
Phew, I hope that explanation suffices. If you look up the Richard III Society there is a tonne of information and resources that discusses it all. It’s very interesting reading.