As you stated, the purpose of initramfs is to get the "real" root filesystem mounted (it can do other things too, but this is the common task).
Without an initramfs, the kernel will normally mount a partition up as read-only and then pass control over to
/sbin/init. An initramfs just takes over this task from the kernel, usually when the root filesystem isn't a normal partition (mdraid, lvm, encrypted, etc).
Now, aside from the background on initramfs, your
/etc/fstab resides on your root filesystem. As such, when initramfs is launched, that root filesystem isn't there, and so it can't get to the fstab (chicken and egg problem).
Instead we have to pass a parameter into the kernel boot arguments for the initramfs to use. Normally this is something like
root=/dev/sdX. However it might also do something to automatically figure out where your root device is, and so there's no parameter at all. Since it's just software (generally a script), it can really do anything it wants for mounting the root device.
Now, as stated earlier, the kernel will mount the real root as read-only. The initramfs should do exactly this. Once the initramfs is done, the system proceeds booting exactly as if there were no initramfs at all, and
/sbin/init starts up. This init then starts all your normal boot scripts, and it's the job of one of these scripts to read
/etc/fstab, switch root to read-write, and mount all your other filesystems.