Is it possible to duplicate keyframes to multiple bones? Do I really have to animate all four legs of an animal one by one if their motion is identical, or is there a way of animating just one leg and then copying all the animation keyframes to the other four?

I understand that some of their parameters might have to change (such as position on X and Y axis), but those parameters can easily be changed. It would take much longer to animate every single leg by hand than to just change a couple of coordinates.
Select a source bone
open a graph editor
select all keyframes you want to copy
press Ctrl+C
select the destination bone
set the cursor at the appropriate position
press Ctrl+V