From the wiki for evdev:
evdev (short for 'event device') is a generic input event interface in the Linux kernel and FreeBSD.[1] It generalizes raw input events from device drivers and makes them available through character devices in the /dev/input/ directory.
And the wiki for udev:
As the successor of devfsd and hotplug, udev primarily manages device nodes in the /dev directory. At the same time, udev also handles all user space events raised when hardware devices are added into the system or removed from it, including firmware loading as required by certain devices.
From what I understand udev will broadcast events and apply certain rules when a device is inserted/removed. However, both appear to share the responsibility of creating device nodes under /dev/input (for evdev) and /dev (for udev). Events can then be read from these device nodes.
What determines whether a device node is created by one vs. the other?