To illustrate the difference, try this script:
Code:
src = BlankClip(width=320, height=240, color=$ff0000).KillAudio().AddBorders(20,20,20,20)
a = src.LanczosResize(240, 180, 20, 20, 320, 240)
\.Levels(0, 0.0001, 255, 0, 255).Subtitle("resizecrop", align=5)
b = src.Crop(20, 20, -20, -20).LanczosResize(240, 180)
\.Levels(0, 0.0001, 255, 0, 255).Subtitle("crop then resize", align=5)
StackHorizontal(a.AddBorders(0, 0, 20, 0, color=$ffffff), b)
StackVertical(src.Subtitle("source image", align=5).AddBorders(0, 0, 140, 20, color=$ffffff), last)
AddBorders(20,20,20,20,$ffffff)
It produces this image:
You can see how with resizecrop information from outside the cropped area is used by the resizer. Look at the dark border around the “resizecrop” rectangle. That is from the black border in the source bleeding into the cropped image. That cannot happen with “crop then resize” because first you cut, then you scale. And information that is not there anymore cannot be used by the resizer. Hence no bleeding.
If you want that bleeding effect or not depends, as explained in postings above.
P.S.: The effect is greatly exaggerated by Levels(). Otherwise it would be too subtle to notice with the naked eye.