Os colchetes aparecem em torno dos nomes dos comandos quando os argumentos para esse comando não podem ser localizados.
A página ps(1)
man no FreeBSD explica porque isso normalmente acontece com processos do sistema e threads do kernel:
If the arguments cannot be located (usually because it has not been set, as is the case of system processes and/or kernel threads) the command name is printed within square brackets.
A página ps(1)
man no Linux é semelhante:
Sometimes the process args will be unavailable; when this happens, ps will instead print the executable name in brackets.