apex:outputTextタグとapex:outputFieldタグはVisualforceでプロパティの情報を出力するところは同じだが、apex:outputFieldタグはオブジェクトにひもづくプロパティしか出力できない。
また、apex:outputFieldタグで出力すると、改行コードがHTMLエンコードされるが、apex:outputTextタグでの出力ではエンコードされない。
なので、apex:outputTextタグを使って、Apexクラスのプロパティを出力する際、改行コードも考慮しなければいけないケースでは、自力でつくらなきゃ・・・いけないかもです。あ~んど、Apexでは、HTMLエンコードするクラスが存在していないような。。。
逆に、改行コード以外は、Visualforceでエンコードして出力してくれます。もし、改行コードのエンコードも考慮して自力でHTMLエンコードするならば、apex:outputTextタグでの出力はescape属性をfalseにして出力するようです。。。
<apex:outputText escape="false" value="{!data}" />