To address the second part of your question. I use it since I'm lazy and don't want the to spend half of my (working) life writing getters and setters. Instead I put an annotation @Data before my class definition and everything is done.
See the 3 minutes video demonstration on Project Lombok.