Flask bir micro-framework.
Django ise full-stack bir framework.
Flaskda tüm her şey tek dosya üzerinden yönetiliyor (tabi dilerseniz ayrı ayrı dosyalara parçalayabiliyorsunuz). Django ise normal model-view-template (mvc) yapısını kullanıyor.
Flask'ın tercih edilme sebebi çok hafif ve hızlı olmasından kaynaklı çünkü içinde Django'da olan özellikler yok. Daha çok api oluşturma kısmında kullanılıyor geri kalanında Javascript ile işlem yaptırılıyor.
Flask çok basit, birkaç günde bitirilebilir. Django ise biraz daha karmaşık, iyice öğrenmeniz biraz zaman alabilir.
Eğer yapmaya çalıştığınız şey bir websitesi olsun ve front-end - back-end arasındaki ilişki api aracılığıyla yürüsün, başka özelliklere gerek yok derseniz tercihiniz flask olmalı. Ama içinde admin paneli dahil bir sitede ihtiyacınız olan (template engine, db engine vs) her şey olsun isterseniz Django tercih etmeniz daha akıllıca olur.