Lambda expressions were added in Java 8 as a way to implement functional programming. They allow short, anonymous blocks of code to be passed around as parameters or returned from methods. A lambda expression takes parameters and returns a value without needing a name or class. They provide a concise way to represent method interfaces via expressions and simplify software development by providing implementations for functional interfaces.