O SCTP requer mais design dentro do aplicativo para obter o melhor uso dele. Existem mais opções do que o TCP, a API do tipo Sockets veio mais tarde e é jovem. No entanto, acho que a maioria das pessoas que toma um tempo para entendê-lo (e que conhecem as deficiências do TCP) o aprecia - é um protocolo bem projetado que se baseia em nossos ~ 30 anos de conhecimento sobre TCP e UDP.
Um dos aspectos que requer reflexão é o dos fluxos. Os fluxos fornecem (normalmente, acho que você pode desativá-lo) uma garantia de pedido dentro deles (como uma conexão TCP), mas pode haver vários fluxos por conexão SCTP. Se os dados do seu aplicativo puderem ser enviados por vários fluxos, evite o bloqueio do cabeçalho de linha onde o receptor passará fome devido a um pacote incorreto. Conversas efetivamente diferentes podem ser realizadas na mesma conexão sem impactar uma à outra.
Outra adição útil é a do suporte à hospedagem múltipla - uma conexão pode estar em várias interfaces nas duas extremidades e lida com falhas. Você pode emular isso no TCP, mas na camada de aplicação.
A pulsação adequada do link, que é a primeira coisa que qualquer aplicativo que usa TCP para implementações de conexões não transitórias, existe gratuitamente.
Meu resumo pessoal do SCTP é que ele não faz nada que você não poderia fazer de outra maneira (em TCP ou UDP) com suporte substancial a aplicativos. O que ele fornece é a capacidade de não ter que implementar esse código (mal) você mesmo.
Para sua informação, o SCTP é obrigatório como suportado para o Diâmetro (cf. RADIUS next gen). veja RFC 3588
Os clientes de diâmetro DEVEM suportar TCP ou SCTP, enquanto os agentes e
os servidores DEVEM suportar ambos. Versões futuras desta especificação PODEM
mandato que os clientes suportam SCTP.