Eso sirve para que un ejecutable no se ejecute 2 veces. Por ejemplo.... en un troyano, no es conveniente que se ejecute 2 veces el mismo archivo porque estara queriendo hacer la misma conexion 2 veces y no tiene sentido y podria traer problemas.
Como hacer un mutex, se comprueba si el archivo esta siendo ejecutado y si es asi no se ejecuta nada y se cierra. Esto lo haces poniendo en el comienzo de tu programa una verificacion y si da verdadera se cierra y no sigue leyendo el resto del codigo.
Podrias por ejemplo hacer que se cree un registro cuando esta corriendo tu programa y al cerrarse borras el registro. Me refiero al registro de windows o creando algun archivo que indicara que esta corriendo.
Todo depende en que lo aplicaras, si es en el ejemplo que dije para que no se ejecute un archivo 2 veces bueno es facil, pero en proyectos avanzados con muchos procesos y cosas asi se puede complicar un poco mas seguramente