The most obvious (and, almost certainly, the most common) reason for a cheque to bounce is the dreaded "insufficient funds". That might be because someone has nicked all of the money from the account (or because it was never paid into the relevant account in the first place, either deliberately or, say, by someone accidentally paying it into a different account). However it could also simply be because the money that was paid into the account hadn't 'cleared' before the cheque drawn on that account was presented.
There are also other possible reasons, such as errors on the actual cheques, which are listed here:
https://stepupmoney.com/6-reasons-why-your-cheque-can-bounce/
In theory there's no great problem with providing someone with your bank's sort code and your account number. (After all, those details are provided every time that someone writes a cheque, as the information is printed on it). However I admit that I'd still feel slightly nervous about providing my account details to someone who'd already sent me a cheque that had bounced. If in doubt, ask for a banker's draft (which some banks refer to as a 'counter cheque'), which is actually drawn on the bank's own account, rather than that of the person handing over the money.