Encode em BASE64 - Dúvida

Bom dia pessoal.
Me surgiu uma dúvida em uma demanda no trabalho.
Até onde sei, a proposta do encode em BASE64 de um arquivo é para trafegar ele em requisições web, seja um Webservice Soap, Rest etc, ou para persistir arquivos no banco de dados de uma maneira mais performática, por ser texto.

Link de explicação BASE64 (Wikipédia)

Mas encontrei no javadoc métodos que retornam um encode em array de bytes, porque? Se a proposta é serializar um arquivo em texto?

Link do javadoc
> byte[] encodedBytes = Base64.getEncoder().encode(“Test”.getBytes());
> System.out.println("encodedBytes " + new String(encodedBytes));
> byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes);
> System.out.println("decodedBytes " + new String(decodedBytes));