Flatlist адаптирован для больших источников данных, которые имеют тот же макет, например FeedList.
ViewPager адаптирован для подэкранов конкретного экрана, например, у вас есть Onboarding Flow, и вы хотите пролистывать страницы.
Of c вы можете использовать ScrollView для этого, но ViewPager выполняет жесты на собственной стороне.