I use a password protected spreadsheet on an encrypted USB drive with the domains, the domain registrars, the expiration dates, the hosting companies, the FTP usernames and passwords and a notes column. At the end of the year I yellow highlight the expiration dates for each domain that expires that year.
The USB drive is periodically backed up to another USB drive that I keep in a secure location.
It is simple, but it works.
"Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote." -- Benjamin Franklin