POSIX определяет набор переносимых функций C, оболочки, программ, которые облегчают жизнь программиста, поскольку, учитывая определения в POSIX, гораздо проще писать portable код (не только C, но скрипты тоже). Представь, если бы у каждого был свой способ делать вещи!
Не все операционные системы совместимы с POSIX, поэтому, если вам нужно разрабатывать и для них, вы должны делать специфичные для системы вещи. Но POSIX, вероятно, сегодня является переносимым стандартом для различных систем. Конечно, есть ISO C, который является более переносимым, но тогда трудно написать очень полезные программы только на ISO C!