using a Markov Chain, because this question itself as input text for example
Perl, 108 chars
What, no answers?  Here's a quick Perl solution:
$/=$,;$_=&lt;&gt;;push@$1,$2while/(?=(....)(.))/sg;print+($m)=/(....)/s;print while($m.=($_=$$m[rand@$m]))=~s/.//s

And this is what I got the first time I fed the question text through it:

Create a defined. There must also inclined. There must be sure to be according a Markov Chain.

(The average output length should approximately match the input length, so such a short output is quite untypical.  On the other hand, the output length is roughly exponentially distributed, so both very short and very long outputs are quite possible.)