Personalmente prefiero React porque me dedico a aplicaciones que no tienen innumerables graficos actuando independientemente como un juego. El propio react explica que no es para esa solucion.
En cuanto a mi entendimiento de Angular, lo veo como una extension de HTML al agregarle Behavior o comportamiento mediante tags. Es decir si combinamos HTML con Angular , el HTML deja de ser estatico y podemos expresar con tags y parametros o variables insertadas en esos tags comportamiento. Lo que antes solo podiamos hacerlo con Javascript dentro del tag <script>
En cuanto a React me parece innovador por el approach. Me reulta mejor por 2 cosas.
la manera que tiene de definir y estrucutrar las cosas es similar al approach por objeetos que proponen otros lenguajes como java. Cada uno de esos objetos visuales pueden representarse con Tags. Y si lo combinamos con Redux la idea es que puedo considerar la aplicacion como una maquina de estados, donde cada evento, con sus datos relacionados cambian el estado de la aplicacion.
De lo que se encarga React es de Refrescar en la pantalla solo lo elementos graficos que estan relacionados con algun dato del estado que cambio en el ultimo evento.
Entonces si usamos React + Redux, las operaciones (Actions) y los cambios (Reducers) tienen una relacion uno a uno mas directa con los casos de uso (las operaciones que un usuario puede hacer).
En cuanto a las ultimas versiones de Angular (7) descubro que tienen muchas operaciones y funciones oficiales “ready” por lo que termina siendo mas homogeneo si el enfoque procedural nos gusta.
Pero hoy para aplicaciones de tipo comercial o que tienen mayormente texto o pocos graficos prefiero usar React.
Principalmente porque si veo una aplicacion React + Redux terminada …. veo partecitas con una fucion especifica muy simples y muy parecidas , que hacen una sola cosa.
Actions (Eventos y acciones que pueden suceder)
Reducers (Cambios de Estado – y estado inicial)
Containers (Comportamiento de los elementos graficos)
Components (Elementos graficos que solo muestran los valores que reciben como parametros)
Es cierto que Redux tambien se puede combinar con Angular , peo no ocurre de forma comun.
En cuanto a ver una aplicacion Angular, por ser procedural, de estar bien ordenada y simple depende de cuan “clever” o cuan prolijo es el desarrollador mas que de un standard o de “rieles” que el framework te provea de manera que sea natural ir por alli