The cause of fringing is pretty straightforward. Fringing is simply a consequence of thin film interference---the same irridescent effect you view for a thin oil layer or a soap film on water. When the light moves from one medium to another, as defined by differences in index of refraction, some of the light is reflected at the interface. This light heading backward then attempts to leave at the rear surface of the film and is again reflected. With light going back and forth, the waves either reinforce or cancel in amplitude, depending on their wavelength relative to the film thickness. Where it reinforces, you see bright features; where it does not you see darker features. Where there is complete cancellation, you see very dark features. In a nutshell, the width of the interference features is proportional to the wavelength distribution of the light source and the thickness of the film. If the film thickness varies with position, then you will see squiggly bands following paths of constant thickness relative to the wavelength of the light. Hence you see "fringes" rather than a uniform glow of multiply reflected light. Therefore a wedge shaped film gives parallel bands at an equal spacing. Similarly, a spherically curved film gives rings (e.g., Newton's Rings in optics). With a broadband source such as white light, the spectral features are relatively broad, diffusing into a rainbow of color. Narrowing the wavelength range of the source tightens up the interference bands. With a CCD, light passes through the silicon, which acts as a thin film against the higher index of refraction of the substrate. Monochromatic source = strong fringing. Thin film = strong fringing. So the night sky emission lines coupled with a thinned CCD are a very unfavorable combination unless, of course, you are trying to observe and measure fringing!
Fringing can be a pain to correct. Thankfully, fringing is a function of wavelength and chip thickness, not of position in the focal plane. This means that you can separate it from the "source" image by shifting the chip around the focal plane between exposures. Just to be clear here, we are talking about creating a fringe correction image---a "fringe flat", if you will---by combining multiple exposures of the data (the target object of interest), not of some type of special purpose flat field frame. We must use the data frames because fringing results from night sky emission and may vary with time.
There are two correction techniques in general use; both require not a single frame, but a set of frames of the same field that are offset between exposures. The method involving a median frame has been mentioned. There is also a method involving a minimum frame. The minimum frame is an image consisting of the minimum pixel value at each location. Since fringes are always positive, the minimum frame has the obvious effect of discarding the higher pixels. This process also does some odd things to the noise spectrum, which may or may not be important for what you want to do with the data frames afterward (if you want to get into details, the median method also does some wierd things to the noise spectrum, but that's another topic in itself).
Although the fringe flat correction sounds straightforward, in practice a good correction can be relatively labor intensive. With either type of correction, the number of exposures must be on the order of 5 or more for best effect. Three exposures is the absolute minimum, but I have found 3 exposures do not create a very serviceable fringe flat. If you have a large chip---or especially a chip with a long readout time---you can appreciate how taking 5 or more data frames of the same field has its own unpleasant ramifications.
On the positive side, using this "dithered sub-exposure" technique also has the virtue of providing a smoother flat field correction for the pixel-to-pixel variations of the flat field correction when you register and combine the sub-exposures, which leads to fainter magnitude limits and better statistics for everything in the frame. So, if you use dithered sub-exposures for purposes of flat fielding (by registering the frames), then you can get the fringe correction as a by product of what you are already doing (using the unregistered frames). For imaging moving targets, using dithered sub-exposures means that a given field must be re-exposed several times, even though each individual exposure must be sufficient to measure the object at the confidence level (statistics) you need. Some observers may consider this wasted time, but one's perspective should be a matter of whether a good fringe correction is required for the measurement. In the least, the master fringe flat must be adjusted (offset) according to the non-fringed sky background for each image, involving more than simply clicking a button to subtract an image.
There's also the problem that the monochromatic flux from the night sky (which causes the fringing) may sometimes change significantly on 10 minute time scales, making it difficult to create a fringe flat that works well with a given image. This situation is usually handled (to varying degrees of success) by scaling the fringe flat until the fringe amplitude matches that of the particular image, followed by offsetting and subtraction in the normal way. By now, you may be sensing that fringe correction is snowballing into a lot of effort---it is. There are certainly the lucky cases in which you slap together a quick fringe flat from 3 exposures, subtract it, and end up with a good correction. But don't expect that to happen often if you want good results.
How good of a result do you need? How important is fringe correction to your scientific program? Only you can answer these questions by inspectiing and assessing your data, applying various image processing strategies, and analyzing how they affect meeting your requirements. In creating and applying a fringe correction, all the combining, adjusting, measuring, and inspection requires something substantially more scientifically oriented than Photoshop type software. Fringe correction can be implemented using MIRA as well as IRAF and STSDAS.