In general, a ferry is a maneuver in which you need to “aim off” of where you want to get. You need to do this because either current or wind are applying a lateral force on your boat.
Peter-CA described a typical forward or upstream ferry done on a river. Here you want to go straight across the river from side to side, but if you aimed your boat at the point you want to arrive at, a very strong lateral current would push you way downstream before you got across so you need to align your boat more upstream than directly across.
Another ferry might be done in an ocean environment in which you want to cross an open body of water through which there is a substantial tidal flow. In this case, you may not even see the current pushing your boat sideways because it is sitting in a large mass of water moving laterally. You still need to aim off of your target to wind up where you want to.
Or you may be crossing a lake in which there is a strong crosswind. In this case you need to aim off because the wind is pushing your hull leeward.
For river ferries, the strength of the current is not uniform more often than it is. On a wide, relatively deep river it might be relatively uniform for a good part of the way across, but current velocity is typically less toward the shores. On narrow shallow rivers with significant current, it is almost never uniform. And of course, tidal flow will vary over time and wind is usually not uniform. So with many ferries you need to adjust your “ferry angle” as you cross, sometimes repeatedly.
As for a gliding ferry, there are times during upstream river ferries in which you can utilize the trough of a standing wave to retard or arrest your downstream movement as you cross. These are called “jet ferries” more often than gliding ferries, and in these cases you are partly surfing and partly ferrying. But sometimes even a very forcible jet of current can be crossed with very little upstream paddling effort in this way.
As for whether to use a rudder or a skeg or not, I think there are times when it would be helpful and times when it would be detrimental. When crossing a body of water with a side wind a skeg or rudder could help resist the push on the boat laterally. Also, current or wind will usually want to push either the front of the boat more than the rear, or vice verse. In these instances, a rudder could help compensate for the tendency of wind or current to want to turn the boat away from where you are aiming.
For most ferries across current on rivers, a skeg or rudder would probably be helpful less often especially on shallow rivers. I have done a lot of upstream ferries on whitewater rivers in both canoes and kayaks, however, and have found that with highly rockered hulls that track poorly, having a hull with a bit of “edge” like a sharp-chined canoe or kayak can be beneficial. The chine can be dipped into the current by heeling the hull to add directional stability when variations in the force of the current keep wanting to knock you off your ferry angle.