The big difference, IIRC, is that you have to have a checking account with the bank for a certified check, because it’s basically a personal check that the bank has certified will be covered. At most banks they’re certified counter checks, though; you don’t write out an actual check. The bank puts a hold on your account for the amount of the check, and it’s for a certain period of time from date of issue (at my bank, it’s 90 days). I don’t think there’s much difference between a money order and a cashier’s check, except that only financial institutions can issue cashier’s checks.
Cashier’s checks are from the bank (ie, the cashier), usually given to an account holder when they wish to make a large withdrawal, and don’t want to carry around cash. They were more common when banks were not national, and if you moved, you needed to close your bank account, and open a new one in your new city. You withdrew your entire balance and got a cashier’s check. So pretty much, you have to have an account with the bank to get a cashier’s check too, but it can be a savings account.
It’s also possible, I think, to get a cashier’s check for a large sum, if it’s so large that it’s beyond the maximum of a money order, but I’m not really sure how it works. I don’t know if it’s made out to you, and you sign it over, or to the person who will eventually receive it. It also depends on the policies of a particular institution whether you need to be an account holder.
Anyone can get a money order from any bank, or any other place that issues money orders. I don’t know if there is a statutory limit to how much a money order can be for (and if there is, they probably vary by jurisdiction), but I do know that my bank will issue them for a lot more than any non-financial institution, and I’m guessing it has something to do with the amount of cash non-financial institutions want to have on the premises.
I once had a landlord require a money order, and would not accept a certified check (actually, they probably would have, but the front desk person was sticking by the “no personal checks” rule to the letter, and her supervisor was not reachable to overrule it). I tried to get a cheap one, but no one other than my bank would issue one for the amount required, so I just bought the expensive one from my bank. It wasn’t that much-- $4, as opposed to $0.75 from another place, albeit, I would have had to get three of them, so it was almost the same price, and less trouble.