Il y a de très bonnes réponses ici, alors juste pour les compléter.
La capacité est l'un des principaux moteurs du rendu logiciel. Cela a été abordé dans l'une des réponses, mais je vais faire un point d'opposition: le rendu logiciel peut en fait être plus performant que le rendu matériel, pas moins.
Avec le matériel, vous êtes généralement limité aux capacités du matériel lui-même, bien qu'OpenGL pour un soit capable d'émuler le logiciel de beaucoup de choses qui peuvent ne pas exister dans le matériel. Cela signifie que si vous essayez d'utiliser la fonctionnalité X mais que le matériel ne la prend pas en charge, l'une des deux choses se produira: soit vous reviendrez à l'émulation logicielle (le scénario OpenGL typique), soit vous n'y arriverez pas. l'utiliser du tout (le scénario D3D typique).
Avec le rendu logiciel, vous pouvez écrire le code vous-même. Vous pouvez manipuler les choses et avoir un contrôle total sur ce qui se passe au niveau des pixels. Pour donner un exemple d'une explosion du passé, Quake a fait implémenter des pixel shaders dans le logiciel en 1996, à une époque où les cartes 3D (elles n'étaient pas alors appelées "GPU") pouvaient à peine pixelliser quelques dizaines de triangles texturés.
C'est plus le cas également avec les GPU actuels, mais il existe encore des parties importantes du pipeline graphique qui sont exposées en tant que fonctionnalités fixes (ou même pas du tout exposées).
Le rendu logiciel peut mieux évoluer. Ce n'est que relativement récemment que nous avons vu des configurations multi-GPU devenir vraiment viables, mais les logiciels peuvent évoluer sur de nombreux cœurs de processeurs sur de nombreux serveurs. Vous pouvez avoir des batteries de serveurs entières dédiées à cela, et les batteries de rendu professionnelles utiliseront toujours le rendu logiciel.
Les logiciels peuvent exposer différents paradigmes de rendu. Le matériel actuel est très concentré sur le paradigme triangle / sommet / fragment / rastérisation; il s'agit de choisir une chose et de l'optimiser jusqu'à ce qu'elle hurle de miséricorde. Les GPU sont toujours un mauvais choix, par exemple pour le lancer de rayons, qui est plus couramment implémenté dans les logiciels.
Bien sûr, lorsqu'il s'agit d'une comparaison directe de pommes à pommes, un GPU battra le logiciel n'importe quel jour de la semaine - à condition de comparer les zones où les GPU sont plus forts. Mais cela ne veut pas dire qu'ils sont plus forts dans tous les domaines. Malgré cela, et pour les besoins de ce site SE, l'utilisation de matériel est généralement la voie à suivre, mais sachez qu'il existe des cas d'utilisation où les logiciels sont également viables.