At its simplest, MIGX provides a custom TV that allows you to create an arbitrary number of items, each with an arbitrary number of fields. The classic example is a simple gallery, with images and their titles and descriptions. The basic output snippet, getImageList, does just that, listing the items in the TV with placeholders for each of the fields. These are all stored in a JSON array in the TV's content for that resource.
A more advanced feature of MIGX is the ability to use custom database tables, or even existing MODX tables. This way the data can be stored in other tables instead of everything piling up into a huge JSON array in a TV's content. You can use this feature to use resources for event calendars, or even more complex galleries. And it has a very useful feature for managing Custom Manager Pages, so you don't need to use a TV at all. And more listing snippets are available for fetching the data from these tables in any format you require.
MIGX is not very well documented, so it is the ambition of this section of the Cookbook to provide recipes on ways to use MIGX and MIGXdb to create the site features you want.