Lo primero que pienso cuando leo esta pregunta es: ¿qué tipos de cosas usan gráficos/árboles? y luego pienso hacia atrás en cómo podría usarlos.
Por ejemplo, tomar dos usos comunes de un árbol:
- el DOM
- Los sistemas de archivos
el DOM y XML para el caso, se asemejan a las estructuras de árbol.

Tiene sentido, también. Tiene sentido debido a cómo se deben organizar estos datos. Un sistema de archivos, también. En un sistema UNIX, hay un nodo raíz y se bifurca a continuación. Cuando montas un nuevo dispositivo, lo estás conectando al árbol.
También debería preguntarse: ¿los datos caen en este tipo de estructura? Crea estructuras de datos que tengan sentido para el problema y el resto seguirá.
En cuanto a ser más fácil, creo que es relativo. ¿Eres bueno con las funciones recursivas para atravesar un árbol/gráfico? ¿Qué pasa si necesitas equilibrar el árbol?
Piensa en un programa que resuelve un acertijo de búsqueda de palabras. Puede mapear todas las letras de la búsqueda de palabras en un gráfico y verificar los nodos circundantes para ver si esa cadena coincide con alguna de las palabras. ¿Pero no podrías hacer lo mismo con una sola matriz? Todo lo que necesita hacer es mover un índice para revisar las letras a la izquierda y derecha, y por el ancho para verificar las letras arriba y abajo. Resolver este problema con un gráfico no es difícil, pero puede crear mucho trabajo extra y dificultad si no te sientes cómodo con su uso; por supuesto, eso no debería desanimarte, especialmente si estás aprendiendo sobre ellos.
Espero que eso lo ayude a pensar sobre estas estructuras. En cuanto a una recomendación de libro, tendría que ir con Introduction to Algorithms.