Al principio de los tiempos los ISP asignaban a todo el mundo IP estáticas, pero dado el numero limitado de ellas y el rápido crecimiento de Internet se dieron cuenta de que las IP estáticas se estaban acabando.
Dado que no todo el mundo esta constantemente conectado a Internet crearon algo parecido a un servidor DHCP que asigna IP según se van necesitando y cuando dejan de usarse esas IP se reutilizan en otro host, de esta forma se ha conseguido alargar la vida del actual sistema de IPv4.
Si quieres una IP fija efectivamente tienes que contactar con tu ISP y pagar por ello, Telefónica en España las cobraba a unos 12€ el mes.
No-ip lo que hace es crearte algo parecido a una dirección IP fija pero mediante DNS. Tu te descargas un programa que envía tu IP a no-ip y ellos relacionan esa IP con un nombre.
No soy un experto así que si veis algún error, por favor sacadme de mi ignorancia.