To quote emacs help, M-/ is:
(dabbrev-expand ARG)
Expand previous word “dynamically”.
Expands to the most recent, preceding
word for which this is a prefix. If no
suitable preceding word is found,
words following point are considered.
If still no suitable word is found,
then look in the buffers accepted by
the function pointed out by variable
`dabbrev-friend-buffer-function’.
In other words, if somewhere in program there is a variable called reallyLongVariableName and I type reaM-/ then emacs automatically fills in the rest. If more than one match exists (ex, reallyUglyVariableName) then M-/ cycles thru them.