A thorough understanding of basic economic theory would also be helpful to many.
I can try to explain things in simple terms :D
Simply put, the supply of domains by far exceeds the actual demand. It's difficult to sell stuff that nobody wants. If you find a 'great' domain name that is available, it probably means nobody needs it. In general people don't want to pay more than regfee for a domain. They will only buy for a good reason ie. you have a really great domain that they need for their business.
Of course there are exceptions like names that just dropped, but in general the best domains are already taken.
If you want them, you need to go the right places. They won't always be cheap. The point is not to pay a low price, but to pay a price that leaves room for a good return.
It takes money to make money.
The bottom line is that the market for domain names is limited, after all not everybody needs one, and very few people will buy one on the aftermarket. For that reason, it is necessary to focus on quality because there is no demand for bad domains.
If you are short on funds and unable to invest you may be able to find a niche.
For example some people sell domain lists.
Some are service providers.
Others broker domain names owned by third parties.
Everybody has got skills, you just have to find where to put them in practice.