Here is an example of how KanjiPad works. (Screenshots here are from KanjiPad-1.2. KanjiPad-2.0 looks a bit nicer.)
First, the character for day, stroke by stroke. In the last frame, the user has hit the upper button to perform the lookup (the lower one clears the area for entering another character). The user can then select the correct candidate from the list on the right and paste it into another program.
Here are two more examples - the "Kan" of Kanji, and then the character for chicken. For the latter, stroke order annotation has been turned on.
In all of these examples, the correct character was presented as the top candidate. In fact, if you get the stroke order correct, KanjiPad almost always does a good job at selecting the right character. However, if you get the stroke order wrong, or you write sloppily, it may have difficulties.