It depends, but it does not depend on the application's language (Delphi, C#, C++, C, etc).
You need to primarily decide if you want to create MSI's, which is Microsoft's official installation format (and the one I prefer), or if you are fine with installations that are executable files (as created by InnoSetup or NSIS)
MSI's offer many very nice features, such as integration with SMS for deployment in organizations, automated installation and removal, on the fly modification using transforms, very strong prerequisite handling, "custom actions" that can be written in VBScript or C++ or Delphi.
See this guide to writing MSI custom actions using Delphi.
I can't speak to the specific features of InnoSetup or NSIS, because I create MSI's. I personally use a recent version of InstallShield, but you can also use the widely supported and actively maintained open-source Windows Installer XML toolkit (known as WIX). In fact, most Visual Studio users prefer WIX because it integrates well with MSBuild....as does Delphi 2007 and newer.
Here's a great WIX tutorial if you are interested in using it to build an MSI installation package for your Delphi application.
However, wrapping your head around MSI's can take some time. It's extremely powerful, but it takes some patience and dedication to learn it well. If you are looking for a quicker way to get moving with your software installation (and aren't familiar with Windows Installer) I'd probably select InnoSetup (used with ISTool).