If you actually mean Application Pool Recycle, then it is an online operation. A new w3wp process is created which serves subsequent requests, while the previous w3wp process has a configurable amount of time to complete all outstanding requests (by default 90 second). There is a performance impact since the items in memory have to be reloaded, but there is no outage.
Having a nightly recycle, followed by a warm-up of some sort (to load items into memory) is a fine idea if you have memory leak issues, but the real advantage is the ability to warm-up during low-load (otherwise you're better off to not recycle till it's actually necessary).
If you actually mean Reset (which is normally said as an IIS Reset, or for an Application Pool a stop, then start) then yes, there is an outage. And no, it should not be done if it can be avoided.