I had a problem with cats in my garden. Whether any of the following anti-cat methods worked individually or combined I don't know, but I seldom get a cat in my garden now.
1. I planted prickly shrubs around the perimeter of the garden, ie berberis and holly. I also planted a few curry plants in between, and in the spring I plant 'coleus canin' in the flower beds. I trained the berberis to grow over the wall which cats were using as a springboard to get into my garden.
2. I shred orange and lemon peel, and break up egg shells, to sprinkle in any area I think cats are entering my garden.
3. I put down moth balls at meter intervals around the perimeter of my garden in places where cats could enter. Thank goodness I have a small garden!!
And to those cat owners who say I should not use moth balls because they are toxic - a) I can't imagine any animal eats something it doesn't like the smell of, and b) I spend a small fortune on cat deterrents because cat owners can't be bothered to take responsibility and/or train their cats to use a litter tray, therefore I feel I have every right to protect my own garden. I don't dislike cats, just don't want them doing their business in my garden. It's the cat owners who are at fault.