Vali had no personal enmity with Rama. Hence the only way his killing could have been justified according to the dharma of the Age was if Vali attacked Sugriva, a friend of Rama whom Rama has promised to stand by always, and Sugriva’s life was in danger, then, at that point, the killing of Vali, the brute would be consistent with dharma.
As to Vibhisana, he was thrown out by Ravana and hence he took refuge in Rama. To protect one who had taken refuge, sharanagati, was therefore Rama’s bounden duty, his dharma. Ravana had done personal harm to Rama and hence he had to be killed in a straight fight. Vibhisana was not needed to justify Ravana’s killing.
Affectionately,
Alok Da


