There are four basic types of learners. Hands on, reading, visual, audio. When a child is not learning it usually means that you have not yet matched your teaching style to his learning style.
There are few "stupid" kids and very few "learning disabled" kids. Most of them are simply not being taught properly.
You got that right. My oldest two are extremely visual, but my youngest is hands on and auditory. It really helps homeschooling if you learn to recognize those different styles and are able to work around them and with them.