If they are on a removable sd card and you have Windows you don't need to pay for recovery software either. Avoid products which claim to be specially for phones, just install Recuva (free), stick the card in a card reader and you are golden.
But yeah, stuff that's actually on internal storage is very tough to recover. Keeping backups is always important (regardless of location - removable cards break or phones get lost as well).