Project Lombok aims to reduce boilerplate code in Java by using annotations to generate getter/setter methods, toString(), equals() and hashCode() implementations. It works by processing the annotations at compile time to eliminate the need for developers to manually write these common methods. Lombok also includes a delombok tool to convert annotated code into plain Java that can be used by developers not using Lombok.