View server state permissions

Whats actually the difference between "View server state" and sysadmin permissions. I know what sysadmin oermissions are, however since View server state permission are equivalent , so whats the diffference??

Please let me know, if there are any performance impact if user are granted "view server state" permissions and they keep querieng database.

Is is OK to give this permission to developers?? are there any security issues??

Does View server state permission only relates to viewwing and not updating any changes???