I freelanced for a long time, teach at the college level, and develop my own courses here: https://wpinonemonth.com. The biggest thing I've seen I think is that people keep telling their clients or peers WordPress is so easy to use when it's not.

I used to make documents and sit down with my clients. With WP in One Month, I assume basic knowledge of WordPress, but as far as teaching goes, I always make sure to do a few things:

* Make sure I don't downplay how hard certain tasks can be
* Don't use jargon (or explain any I do use)
* Give my students identifiable tasks to complete (learn by doing).

When training a client, don't just show them. Have them do it. Or do it, and then have them do it. Repetition never helps either. Most importantly, put them at ease when they are learning.