O dd não ignora os caches de disco do kernel ao gravar em um dispositivo, portanto, parte dos dados pode não estar gravada ainda no USB stick após a conclusão de dd . Se você desconectar seu USB stick naquele momento, o conteúdo no USB stick seria inconsistente. Assim, seu sistema pode até falhar ao inicializar a partir deste USB stick.
Sync libera qualquer dado ainda em cache para o dispositivo.
Em vez de invocar sync , você pode usar a opção de conversão fdatasync dd :
fdatasync
physically write output file data before finishing
No seu caso, o comando seria:
tar -xzOf archlinux-2016-09-03-dual.iso | \
dd of=/dev/disk2 bs=4M status=progress conv=fdatasync
O conv=fdatasync faz com que dd chame efetivamente a chamada de sistema fdatasync() no final da transferência antes de dd sair (verifiquei isso com as fontes de dd ).
Isso confirma que dd não ignora nem libera os caches, a menos que seja explicitamente instruído a fazê-lo.