There was some misplaced anger at both the systemd developers and the GNOME developers, when the GNOME package maintainers in Debian decided to build GNOME without ConsoleKit support, as GNOME still supported being built with ConsoleKit, and the systemd developers are not responsible for other developers' decisions to support logind(8) exclusively.
So, controversy aside, what does logind(8) provide to us?
User session management
logind(8) tracks user log-ins and keeps track of which processes are used, by use of a pam_systemd PAM module, so that processes can be cleaned up when a user logs out, or the user is forced to log out, such as when the administrator needs to perform maintainance, or the user is no longer permitted to use the server.
There's little to no configuration needed by users for this aspect of
logind(8), but if a user should be allowed to run processes after
they log out, such as if they run a screen(1) session, then this can
be allowed by using loginctl(1) to run
loginctl enable-linger $USER.
It's common these days for everybody to have their own computer, and the only shared computers are servers, which you interact with via your local comptuer, over a network.
However, back in the day, it was more common for there to be 1 computer shared directly to multiple users, each with their own physical terminal.
Personal computing has made shared machines with multiple terminals mostly unnecessary, but there's still a few uses, such as kiosks, internet cafes, or classrooms, where it would be more cost efficient to have people sharing the computer.
Some hardware is automatically configured as a separate seat, but
hardware can be explicitly assigned to a seat if these automatic rules
are incorrect, by using
loginctl attach SEAT DEVICE_PATH.
If your computer is battery powered you may want the machine to go to sleep when idle to save power, or you may want to block a system reboot while performing crucial operations, like a system update.