There may be several reasons why there are trees on the roof of the White House. First that comes to mind is for aesthetic reasons - they make the roof seem more beautiful and appealing. Other than that, the reason may be practical - to hide the windows of the White House, so that no one can see what's happening there.