The meanings are very similar. The only difference, to my mind, involves the effort involved.
You can think of something out of the clear blue sky, without even trying. If you figure something out, you have set yourself a problem, or been set a problem, and solved it; this implies more effort. To work something out also implies an effort, and probably a more prolonged one; you can figure something out quickly, but it usually takes time to work something out.
For most practical purposes, though, they can be used interchangeably.