I have read that Cisco gateways will do in-band DTMF if 'no dtmf-relay' is used. What is the difference between that and 'dtmf-relay rtp-nte'?
It's a confusion on terms. When you talk about DTMF relay, there are two primary types : inband, and out of band. The out of band messaging is passed between the signaling elements (SIP,H323,MGCP), and inband is RFC 2833. This is important because sometimes the signaling elements need to have information about the DTMF, but if you're using RFC 2833 they will not.
But that's DTMF relay. When you're not doing DTMF at all, many people still call this in-band. This is when the tones physically exist in the audio stream.
I find that most of the time people say in-band they're referring to RFC 2833 (rtp-nte). I like to clarify anyways.
Hope this clarifies.