A fairly general explanation is at:
The main use without udev would be for system with a relatively stable set of disks (where nothing really changes). The dev directory tree is supported in memory by the kernel identifying the devices attached. It does not deal with access permissions other than the defaults built in, and that is where udev can enter the picture as a notification agent to other userspace tools.
For an embedded use, /dev is fairly finished as soon as the kernel is running.