well, POSIX is just a standard for how UNIX-like operating systems (e.g. linux) should work. i'm assuming you mean a POSIX-compliant shell.
the reason you might want to use a POSIX-compliant shell is that those shells are mostly compatible with each other, meaning a script written in BASH is (mostly) compatible with a system running ZSH, and vice-versa.
if you choose to use a non-compliant shell, some scripts might not work correctly. for example, though "set -x VISUAL nvim" works in FISH, it won't work on BASH. although, most scripts include a "shebang" line that overrides the user's shell and chooses to run the script in a different one (e.g. BASH).
the reason you might choose a non-compliant shell is usually just out of convenience. FISH has built-in suggestions, completions, and highlights that don't use many resources (the same setup in ZSH would require multiple extensions that slow down the shell). FISH also has different syntax that you might find more intuitive than the POSIX shells. basically it's just a matter of whether you want convenience or compatibility.