title: What is pipes/conduit trying to solve
body: <p>I have seen people recommending pipes/conduit library for various lazy IO related tasks. What problem do these libraries solve exactly?</p>
  
  <p>Also, when I try to use some hackage related libraries, it is highly likely there are three different versions. Example:</p>
  
  <ul>
  <li><a href="http://hackage.haskell.org/package/attoparsec" rel="noreferrer">attoparsec</a></li>
  <li><a href="http://hackage.haskell.org/package/pipes-attoparsec" rel="noreferrer">pipes-attoparsec</a></li>
  <li><a href="http://hackage.haskell.org/package/attoparsec-conduit" rel="noreferrer">attoparsec-conduit</a></li>
  </ul>
  
  <p>This confuses me. For my parsing tasks should I use attoparsec or pipes-attoparsec/attoparsec-conduit? What benefit do the pipes/conduit version give me as compared to the plain vanilla attoparsec?</p>