Unicorn is HTTP server for Ruby, similar to Thin or Mongrel. Unicorn has a altogether different architecture to serve http requests and fork processes.

Here are few excellent Articles to know more about Unicorn

Well you dont need to use unicorn for all applications. Passenger, Mongrel, Thin all are super and awesome. Using unicorn depends on specific needs of your applications and how the architecture is laid out.
[1]: https://github.com/blog/517-unicorn
[2]: https://www.engineyard.com/blog/2012/passenger-vs-unicorn/