Há vantagens em usar um chip USB separado e permitir que o AVR se comunique através do seu UART.
Uma pilha USB precisa responder à pesquisa do PC host. Isso acontece pelo menos a cada milissegundo. Isso significa que é ainda mais difícil garantir uma resposta em tempo real aos eventos, pois o MCU pode ser interrompido para responder à pesquisa de USB dos hosts.
Quando não há nada para se comunicar ou o MCU quer se concentrar totalmente em uma tarefa em tempo real, ainda precisa responder a alguns eventos de sondagem USB do host, ou o host 'perderá' o dispositivo. Portanto, é difícil ignorar. Um chip USB dedicado, como um FTDI, descarrega essas tarefas do AVR.
Um pequeno problema é que a pilha USB consumirá uma quantidade razoável de memória flash e RAM; portanto, o chip precisa de mais recursos do que um simples AVR.
Além disso, as duas partes podem ser separadas em duas placas; portanto, o USB não é um custo fixo, mas pode ser compartilhado em várias placas.
Por outro lado, o principal benefício do uso de um AVR com um periférico USB e uma pilha USB integrados é que há apenas uma peça para comprar e montar.
Não verifiquei recentemente, mas acredito que os chips FTDI mais recentes forneceram uma taxa de transferência de dados USB mais alta do que o USB do AVR. No entanto, os UARTs do AVR eram tão lentos que um AVR com USB é uma transferência mais rápida do que a combinação de FTDI (ou qualquer interface USB) que se comunica através do UART do AVR por causa do lento AVR UART.
Edit: O FTDI faz outras interfaces além do UART. Por exemplo SPI. Não tenho experiência em usá-los. Alguns AVRs suportam transferência SPI de 9 (talvez 12) megabits. O FTDI é o mestre SPI, o que não é ideal. Se o AVR estiver transmitindo, pode ser bom. Como os FTDI têm amortecedores, mas receber pode ser 'como beber de uma mangueira de incêndio'. AFAIK, você precisará trabalhar no PC host para fazê-lo funcionar.
A transferência de velocidade mais alta pode ser através de uma placa-filha Ethernet de 100mbits, mas eu não vi medições de taxa de transferência.
Estou feliz em usar outros microcontroladores que não o AVR. Então, eu poderia usar algo com um UART rápido e um controlador DMA que poderiam mover caracteres sem o envolvimento da CPU. Se essa é uma abordagem útil, talvez veja o Arduin Due, ou o mbed, o ST mbed é chamado nucelo, que é de baixo custo.