Plot between multiple curves

f[s_] := Plot[{U1[del], U2[del], Dead[del], 
              If[s[U2[del], #], #, U2[del]] &@Max[U1[del], Dead[del]]}, 
              {del, 0, 1}, PlotRange -> {0, 1}, 
              PlotStyle -> {{Blue, Dashed, Thick},
                           {Red, Dashed, Thick}, 
                           {Green, Dashed, Thick}, 
                            Transparent}, 
              Filling -> {2 -> {4}}, Frame -> True]

f /@ {Less, Greater}

Mathematica graphics


I strongly applaud Dr. belisarius' use of an invisible curve to control the filling, but I think the following implementation of his idea is easier to understand.

U1[del_] := (1 - del)/del
U2[del_] := del
Dead[del_] := del^3

controlCurve[del_] :=
  Piecewise[
    {{U2[del], U1[del] > U2[del]},
     {U1[del], U1[del] > Dead[del]}},
    Dead[del]]

Plot[{U1[del], U2[del], Dead[del], controlCurve[del]}, {del, 0, 1}, 
  PlotRange -> {0, 1},
  PlotStyle ->
    {{Blue, Dashed, Thick}, {Red, Dashed, Thick}, 
     {Green, Dashed, Thick}, Transparent},
  Filling -> {2 -> {{4}, Yellow}},
  Frame -> True]

plot