Para una comparativa entre Flask y Django puedes pasarte por
acá.
Flask sirve bien para fabricar APIs, y django esta quizás mas orientado al desarrollo web como sitios dinámicos o estáticos. Pero no está estrictamente reglamentado que tenga que ser así.
Mercado laboral hay en los 2 frameworks mencionados, quizá te convenga estudiar ambos.
Con respecto a las bases de datos, primero tienes que aprender su teoría, si ya la sabes puedes pasar a mirarte los
ORM.
La gracia de que sepas operar SQL y noSQL es que puedas diseñar la lógica de los datos para un negocio en partícular (entiéndase un negocio como la lógica operacional de una empresa), o trabajar sobre una existente, ya que mas allá del la base de datos está la lógica con la que ésta opera a nivel comercial operacional, y éste contexto no se explica por si solo si no tienes entendimiento del negocio al que está orientado el modelo. (En el mundo productivo no todo está documentado).
Entre las muchas cosas que ofrecen los framework para desarrollo web están:
- Manejadores de URL
- Controladores
- Modelos de datos en base a ORM
- Carga, borrado y actualización de la estructura del modelo de datos
- Carga de los datos iniciales del modelo de datos
- Manejo de la seguridad
- Sistemas de datos en memoria (similares a la RAM)
- Sesiones de usuario
- Consumo de web services o APIs
- Etc...
Como vez el framework engloba todo lo que hace falta para trabajar el desarrollo, que traciende al framework en si mismo. Éstos mismos conceptos se aplican a multitud de otros frameworks en otros lenguajes.
Lo importante no es la tecnología, si nó todo lo que la hace funcionar, cosa que no te cases con un lenguaje/framework en específico. No obstante, conocer la tecnología base (Python en éste caso) es muy importante, no es necesario que seas una biblioteca, pero tampoco debes quedarte flojo en conceptos. Así te ahorrarás en un futuro el andar copiando código que a duras penas funciona y entorpece el normal funcionamiento del sistema.