Semantic versioning, also known as SEMBR, is a versioning schema widely used in software development to manage versions of software packages. It helps in avoiding 'dependency hell' by specifying rules that govern how version numbers are assigned and incremented.