Quit() vs Close() in Selenium WebDriver

I have been seeing a lot of questions everywhere and want to discuss about Quit() vs Close()

Close()

Use the following code.

//initiates the FirefoxDriver
WebDriver driver = new FirefoxDriver();
//Opens the Google Page
driver.get("http://google.com");
//Once on the Google page right click on any link (say images) and open it in a new tab
Thread.sleep(20000l);
//Now we have two browser windows opened with this webdriver instance. So when driver.close() is called it will
//close only the parent browser window, it will not close the new tab window which we opened.
driver.close();

Quit()

Use the following code.

//initiates the FirefoxDriver
WebDriver driver = new FirefoxDriver();
//Opens the Google Page
driver.get("http://google.com");
//Once on the Google page right click on any link (say images) and open it in a new tab
Thread.sleep(20000l);
//Now we have two browser windows opened with this webdriver instance. So when driver.<del>close</del>quit() is called it will
//close all browser windows, it will close both of the opened browser windows associated with the driver object..
driver.quit();

Thanks,
Khaja