Self-hosting refers to hosting a program, service or app rather than using a paid service provider (SaaS).
The main reason for self hosting is control. Having control over every part of what you are self hosting. Removing the ability to have an outsider (provider employee) sabotage or limit how you use and run that service/app/program.
Security is another issue. Being self hosted you can be more assured no one will access your data or files from the inside. Hosting providers can easily see what you’re doing on the server you hire but if you self host it removes this.
Privacy can be had on a self hosted environment, no snooping, collecting or selling of data from service providers. You can also get anonymity. These two points blend with security though.
Of course these environments are completely dependent on your self hosted environment and network to be locked down and secure. But at least you have the control.
Self hosted software also seems to be heavily featured as being free and open source. This brings in a greater level of trust, which bonds well with the above pro’s of going self hosted.
Here is a great list of self hosted software/apps/services.