Simply put, the privileged instructions are usually those related to I/O with hardware devices, or memory protection. Access to those from arbitrary processes without going through some central logic would make it possible for processes to trash the memory of other processes, mess up the file system etc. Either by accident or on purpose.
If we consider some common system calls, there's e.g.
write() and others that access files and in the end result in I/O to the disk or some other device. Or
mmap() that affect the memory of a process or other processes.
Of course something like making a process not call a system call doesn't require privilege, and can be done with a library. Same for faking the results of a system call. Though of course something like changing all time stamps two weeks backwards (like the
libfaketime example) requires finding out the correct time first, and that has to happen through a system call. In addition to
libeatmydata, there's e.g.
fakeroot that pretends that a process is running under UID 0.