Correct, Credit card programs and Amex and such are only a good bonus to have, buying directly, for example from emirates, caped with a limit of 100-200 thousand miles per year.
Some programs redeem 1:1, and to earn 1 Million miles, you need to spend 1 Million USD, which is terrible for value.
THE BEST is to buy them from miles brokers, 1 mile for 0.03 cents which would cost you $30k for 1 Million miles - book economy
cash and upgrade with miles, depending on the destination, and you save up to 50%