Why do we need headless browsers?

Suppose that Selenium tests have to be executed on an OS which does not have a GUI like Linux or when multiple browser behaviors have to be simulated on just one machine. The advantage of a headless browser is that the resources utilized by the test are minimal. A scenario where you can use these browsers is for test data creation. In these situations, there is no special need to display the screen to the user.