In principle, you can apply bootstrapping to many situations, you just need to make sure to bootstrap in such a way that it reflects the structure of the data.
E.g. for paired data you would want to bootstrap the pairs of results together. In your case that would mean bootstrapping patients rather than individual outcomes on a treatment, followed by calculating the differences within boostrapped patients, where some patients may now have multiple differences.
There's of course some situations where the data has a structure that prevents you from bootstrapping in such a straightforward manner, but paired data is a nice simple case.
I don't really see that resampling methods "give more reality" to the results, although I guess they could give you e.g. a distribution (and hence confidence interval) of bootstrapped differences, which can be helpful. Ranked based permutation tests do not always give you things like that in a straightforward manner without additional assumptions.