Por que preciso escolher um dialeto antes de formatar?
Porque cada motor de banco cita identificadores de um jeito diferente: backtick no MySQL, colchete no SQL Server, cifrão duplo no PostgreSQL. O formatador usa o dialeto escolhido para saber onde um identificador citado começa e termina, e escolher o dialeto errado pode fazer essa citação ser lida como código comum.
O formatador reformata o texto dentro de uma string?
Não. O tokenizador identifica onde cada string literal, comentário de linha ou de bloco começa e termina antes de aplicar qualquer indentação, então o conteúdo textual dentro deles chega intacto ao resultado final, byte por byte.
Qual a diferença entre vírgula à direita e vírgula à esquerda?
Vírgula à direita (o padrão) coloca a vírgula no fim de cada linha de coluna; vírgula à esquerda move a vírgula para o começo da linha seguinte. O resultado funciona igual no banco, é só uma preferência visual que facilita ver o que mudou em um diff de controle de versão.
O que acontece se eu formatar um texto SQL malformado?
O tokenizador nunca lança erro sozinho: uma string ou comentário sem fechamento é lido até o final do texto e sinalizado internamente como não terminado, para o resultado degradar de volta ao texto original em vez de travar ou cortar o conteúdo.