What's the difference between the wim files they produce?
If you type
recimg /? in a command prompt it would display the following information.
Configures the recovery image Windows uses to refresh your PC.
The recimg.exe command line tool lets you configure a custom recovery
image for Windows to use when you refresh your PC. When you create a
custom recovery image, it will contain the desktop apps you've
installed, and the Windows system files in their current state.
Recovery images do not contain your documents, personal settings, user
profiles, or apps from Windows Store, because that information is
preserved at the time you refresh your PC.
When you create a custom recovery image, recimg will store it in the
specified directory, and set it as the active recovery image. If a
custom recovery image is set as the active recovery image, Windows
will use it when you refresh your PC. You can use the /setcurrent and
/deregister options to select which recovery image Windows will use.
All recovery images have the filename CustomRefresh.wim. If no
CustomRefresh.wim file is found in the active recovery image
directory, Windows will fall back to the default image (or to
installation media) when you refresh your PC.
Note that you cannot reset your PC using a custom recovery image.
Custom recovery images can only be used to refresh your PC.
recimg -CreateImage is used to create that image used by the recovery environment to Refresh the Windows installation in question.
Source: Why and when "recimg" is canceled in Windows 10?
/Capture-Image simply does the following:
Capture images for each customized partition.
/Capture-Image can be used to create an image of a storage device's existing partition. This would be typically be used, to create multiple .wim images of a system's partitions, in order to deploy it to other machines on a network so they are identical.
Source: Capture Images of Hard Disk Partitions Using DISM
Also, what's the difference between a .wmi file and a .wim file.
.WMI is a Windows Management Instrumentation script file. It has nothing to do with either command.