If I want to guarantee that I get the funds, how should I accept payment? Obviously cash is king, but is a Cashier's check pretty much guaranteed also?
Yes, a cashier's check issued by a U.S. bank is pretty much guaranteed, but you might want to call the bank before depositing the check anyway, just to make sure the bank actually exists. Be aware that one version of the "Nigerian bank" scam sends the mark a cashier's check drawn on a foreign bank for a large amount (usually many millions of dollars) with instructions to deposit the check in the mark's U.S. account, and to forward the agreed-upon commission amount of x% via personal check to the scammer's confederate. The personal check gets cashed while the foreign cashier's check is returned many days later as uncollectable by the mark's bank because the issuing bank does not exist, or the check is printed on stolen blank checks etc.
See also the answers and discussions of this question for another viewpoint.
If you're selling products on the web and want to accept COD Cash or Collect on Delivery is one way. With FedEx you can specify on your shipping label for the driver to only accept a secured form of payment (Secured — cashier’s check, official check, or money order). FedEx returns your payments express mail over night i'm pretty sure.
You can also use USPS through the post office when sending COD packages the mailman can collect actual cash from the receiver. The post office will then make a money order out to you and mail it back regular mail. However with the post office you cannot specify the form of payment such as secured only or cash only. You can though tell the person receiving the product to have cash and cash only ready for their mailman and the exact amount. This costs much less than using FedEx which is pretty expensive. Though when using USPS you have no tracking of the payment coming back to you, so you must keep diligent records.