A minidump is a file containing information about the state of a process, generally used for post-mortem debugging on Windows.
Minidumps are a file format invented by Microsoft to capture the state of a process. They often contain a minimal set of useful information (hence the name mini dump), including a list of threads, the stack memory for each thread, the loaded set of modules, and information about any exception that occurred. This is usually enough to get a stack trace from where the process crashed. Minidumps can also contain much more information, including the full heap memory of the process (usually referred to as a "full memory dump"), which can be quite large.
Windows will generate a minidump for a process when it crashes, however the minidump will be sent to Microsoft, and you are required to sign up for a WinQual account to view the reports. To avoid this process, many applications implement their own minidump-writing routines that send the dump directly to the application developers using email or HTTP, using well-known techniques as described in this Code Project article. There are also several libraries available that simplify the process, such as Google Breakpad and CrashRpt.