MicroEdition-Configuration refers to the lowest-level part of the system - the JVM and so on.
MicroEdition-Profile gives a list (often of size one) of the additional software environments on top of the configuration (application lifecycle, UI etc.)
For more info see A Survey of Java ME Today (actually from 2007, but a useful overview still):
A configuration, at the bottom of the
Java ME organization stack, defines a
basic lowest-common-denominator Java
runtime environment. This includes the
VM and a set of core classes derived
primarily from the Java SE platform.
Each configuration is geared for a
broad family of constrained devices
with some type of network
connectivity.
And on profiles:
Configurations do not provide classes
for managing the application life
cycle, for driving the UI, for
maintaining and updating persistent
data locally in the device, or for
accessing securely information that is
stored on a network server. Instead,
that type of functionality is provided
by the profiles or by optional
packages. A profile adds
domain-specific classes to the core
set of classes provided by the
configuration, classes that are geared
toward specific uses of devices and
provide functionality missing from the
underlying configuration.
MIDP is the most common profile for mobiles, but there are others: IMP - a kind-of headless version of MIDP (JSR-195); and DSTB for digital TV (JSR-242).