Counterfeit checks are a problem, even with a bank account you might not get the full amount until the check has been cleared at the original bank.
No. You can cash a check at the bank where it was issues and some places will cash your check for a fee. It is easier to cash a check if you have a bank account and probably a little safer for you than carrying the cash around.
Not necessarily. You can go to the bank that issued the check. That always works. You can go to Walmart. They have check cashing services for their customers. They won't cash personal checks though but they will cash government checks and payroll checks. There is a charge of $3.00 for a check up to $1000 and $6.00 for checks for more than $1000. There are check cashing stores but they charge a lot.
The bank from which the check was issued must cash it without requiring an account. They will require ID, and if it's for a lot of money may take additional steps to validate (such as calling the account holder).
At some banks yes at others no
At my credit union you either need to be an account holder or the check must be drawn on a CU account
No. There are many check cashing stores what will cash it but they charge a few dollars.