This is achieved by running file system code in user space while the FUSE module provides only a bridge to the actual kernel interfaces.
[8] The userspace side of FUSE, the libfuse library, generally followed the pace of Linux kernel development while maintaining "best effort" compatibility with BSD descendants.
[9] A break in libfuse history is libfuse3, which includes some incompatible improvements in the interface and performance, compared to the older libfuse2 now under maintenance mode.
On the other hand, libfuse and its many ports provide a portable high-level interface that may be implemented on a system without a "FUSE" facility.
Conventional on-disk file systems can be implemented in user space with FUSE, e.g. for compatibility or licensing reasons.
fusermount
command