What you found "Built-in stuff loads automatically and modular stuff can be loaded/unloaded from kernel during the runtime" is pretty much it.
The only difference between compiled in drivers and drivers compiled as modules is that modules can be loaded (or removed) after the kernel boots, while compiled-in drivers are built-in to the kernel, activate on boot if the hardware they're designed for is present (although access to matching firmware files may also be needed for some drivers), and can't be unloaded.
Other than that, the drivers are the same, the hardware they work with is the same, their requirements (e.g. firmware blobs) are the same.
On a practical level, there's little or no visible difference to the user of the system. Most modules (especially those essential for booting the OS) are typically loaded at boot time, shortly after the kernel itself has booted and the initrd has been mounted.
As @AaronD.Marasco said in his comment: with a compiled-in driver, you need to make sure that any firmware files required are available in the initrd used to boot up any given kernel.
This is also true for any drivers compiled as modules that are required to successfully boot the system. i.e. some drivers (e.g. those providing the driver for the / filesystem) ALSO need to be installed on the initrd so that they're available at boot time.
For example, if your rootfs is ZFS or NFS then the fs drivers for those (and any hardware drivers and firmware they may need, e.g. a NIC driver and its firmware and tools for setting up the network interface, or hardware drivers for SATA or SAS/SCSI interfaces, etc) need to be on the initrd if they're compiled as modules.
It's fairly common to have things like SATA or SAS and common filesystems like ext4 compiled in, while uncommon filesystems like ZFS, and NIC drivers are compiled as modules (since typically you only need NIC drivers for the network cards you actually have installed)
In short: regardless of whether a driver is compiled-in or compiled as a module, if it is essential to successfully complete the boot process then the module's .ko file AND any firmware it requires AND any relevant module options files (e.g. /etc/modprobe.d/zfs.conf need to be on the initrd.
This is usually handled semi-automatically when you install a new kernel or install/upgrade a dkms-packaged driver module, by copying everything (or at least everything required by drivers in use - this is configurable in /etc/initramfs-tools/initramfs.conf) from /lib/firmware to the initrd.
You can manually update the initramfs at any time by running (as root) update-initramfs -u -k <kernel-version> or update-initramfs -u -k all.
However, some distros use dracut to create and manage init ramdisks. I'm not very familiar with that, having never seen any compelling need to switch from the older initrd tools, so I can't give you an exact update command but it can also create and update initrds.
initramfsto be accessible to the kernel at first boot. That's one reason modules are easier to deal with and recommended.modprobe.dconf to set driver options / parameters when needed. Instead you'd need to mess withkernelline in your bootloader entry.