Can some one please explain why is there a While(True); at the end of this program?

YOU don't make the main() function. That is part of the Arduino structure that is provided. It simply calls loop() forever. There is no end.