In general I try to reserve stepwise operations for things that must be performed in a specific order; the user should be free to perform other operations in any order they choose to.
In your example, step 1 obviously has to precede step 2 -- you can't edit an image before selecting it. And step 4 is obviously the last step. But there's no particular reason why step 2 must occur before step 3, and in fact the user may wind up wanting to do only one of them, or neither, or repeat both actions a few times as they narrow in on the look they want. ("Gonna crop that bit out, now add that effect, hmm, maybe that'd look a little better if I cropped it further, hmm, now I wonder if it'd look better that other effect...")
That said, cropping and selecting an effect are, of course, separate tasks each requiring their own UI widgets -- so logically grouping those widgets to make it clear that they are separate tasks is important, even if they are displayed together in the same "stage".
If these were complex tasks requiring lots of individual widgets, it might still make sense to separate them into their own "screens" (or panels, or popups, or tabs, or whatever other grouping mechanism fits with the rest of the app's UI), especially on small-screen devices where you have limited space to work with -- but it seems important to not present that as a stepwise process unnecessarily.
But in your case, it's easy to imagine both tasks being performed simultaneously without too much confusion or apparent complexity (one possibility: image preview up top with overlaid drag-handles for cropping area; carousel of applicable effects below, update the displayed image as the user adjusts either one, and a 'save' button at the end to cap it off.)
(A very relevant current example would be image editing in iOS's Photos app: it divides image editing into separate 'tabs' -- crop+rotate / prebuilt effects / color adjustments / 3rd party add-ons -- with nothing in the UI suggesting those need to be used in a particular order, or used at all.)