ConsoleKit is a framework for registering and enumerating login and user sessions. It is currently deprecated and unmaintained, though the project was recently forked into a backward compatible ConsoleKit2 project. that is getting limited maintenance.
The functionality of ConsoleKit has been superceded by logind which is a systemd component. logind provides nicer APIs and better integration with the system. It supports multiple seats per-machine, and has a mechanism for provisioning devices to unprivileged programs. Although systemd is not available for all systems, there have been a number of initiatives to fill the gap left by ConsoleKit, including:
LoginKit (logind compatible api on top of ConsoleKit2);
systemd-shim (limited support for some of the systemd apis);
systembsd (a reimplementation of the systemd apis portable to BSD distributions).
Some GNOME components still support ConsoleKit in a best-effort, last-ditch-fallback sense, though, the ConsoleKit codepaths aren't as widely tested. Some components now require logind to function properly. Distributions that wish to ship without logind in GNOME 3.16 need to patch ConsoleKit support back in to those components:
gnome-shell needs this commit reverted: https://git.gnome.org/browse/gnome-shell/commit/js/misc/loginManager.js?id=a244c1e987502e359c45c0a9bc0012b5bc635553
GDM will lose ConsoleKit support before GNOME 3.16. https://mail.gnome.org/archives/desktop-devel-list/2015-January/msg00108.html . Once it's removed, this page will get updated with information on how to patch it back in.
GNOME 3.18 onwards
For GNOME 3.18 we expect anyone not being able to use logind to make use of LoginKit, systemd-shim or systembsd. Likely more modules will remove ConsoleKit codepaths.