It just breaks the transaction guarantee. In most cases, you don't want it. In other cases, like logging, pipeline mode may be better suited.
It breaks the durabality for that transaction until a new transaction with synchronous commit 'on' completes or time passes for auto-fsync.
All transactions work the same. When/If the server fails, some transactions (that you allowed yourself) may be not durable (or not replicated). But all things are still transactional.