Over the last 18 months or so, I've been trialling quite a few applications whose primary function is to manage domain portfolio(s). There are some good ones out there, thought they're almost all very similar to a moderately simple Excel (or similar) spreadsheet with a selection of predefined functions to aid sorting by various fields.
Given some time, I'd be happy to create a tutorial on how to set up an Excel (or similar application) workbook including instructions on setting up the various functions required to sort, group and calculate the required data.
Now, if you are after a dedicated portfolio management application for Windows, then listen to Adam and go with DomainPunch (though this is probably the only application I've not yet tried, mainly because Mac OSX is my platform of choice, but I dare say that if Adam swears by it then it must be good).
For a Mac OSX-based application, I'd recommend DomainBrain, though this is exclusively for Mac and is still in its relative infancy (it was recently acquired by Joe Workman, a well-known programmer/designer who makes add-ons and themes for the popular Mac web-design app RapidWeaver). This is not to say that it's not a great alternative, rather that it may not yet have all the features that a serious domainer might require and/or expect.
For a cross-platform portfolio manager you could try RAGE Domainer (available for both Mac and Windows). From what I've seen it does indeed work quite well, however the resemblance to an Excel workbook and/or FileMaker project is uncanny.
The main advantage of a dedicated portfolio management application over a spreadsheet-style solution (as far as I can see) is that the former may be better at alerting you to issues requiring your attention, such as an expiring domain. For example, using an Excel spreadsheet you would have to be pro-active in checking the data within it quite regularly and manually identifying any issues requiring your attention. A portfolio management application, on the other hand, may well be able to create desktop and/or email notifications of such issues as it runs in the background, without you having to remember to regularly check your portfolio data.
If you'd like further information on - or clarification of - anything I've mentioned above then please don't hesitate to let me know.
All The Best,
Entropy