Wayland is a new protocol where the window manager (ie GNOME, KDE,...) is responsible of directly managing the display. Each window manager must reimplement this protocol (or use a library already doing this work) which enable them to have more control over the windows.
Applications must also directly support Wayland like they did for X.org before (which was the default commonly used, so no problem) or the user just have XWayland installed on their computer to show X.org windows inside a Wayland WM but then the application may not display correctly (blur, artifcats,...)