My understanding is that freeze temporarily disables all your plugins, elastic audio, clip gain, etc, and just plays the track from a temporary bounced wave.
You can use it to take some pressure off the processor but still retain the option to revert to full-control at any time.
Commit is more like bounce-to-file, except the resulting wav goes on to a new track.
I *think* you have the option to keep/delete/hide the source track but I'd check and confirm that on some unimportant test track, just to be sure.
Freeze is good for freeing up resources on tracks you probably won't need to change.
Commit is good for creating individual track bounces to send to someone who might not have all your plugins, or doesn't have ProTools.