Note: The following is for OTA and analog cable channels only. In order to receive HD cable channels from Rogers you must have a Rogers STB or PVR.
A PVR can be broken down into three main components: software, hardware & guide data.
ScaryBob gave a good list of the software options. Some run on Windows, others on Linux (there may even be OS X PVR software) and many are free. (There are also several Linux distributions, like Mythbuntu and LinHES, which are tuned to be a PVR.) Many offer functionality beyond recording TV as well. Note: some of the software, like MythTV, give ways to separate the viewing client from the recording server. Personally I have a MythTV backend recording server and watch the shows using my PS3.
Hardware requirements is a function of what you are capturing, what the software supports, and how you are playing back the recordings. HD broadcasts are sent as a compressed digital signal, so the software simply needs to write the bits to the disk - low CPU required. SD broadcasts are either compressed in software (CPU intensive, less common) or by hardware on the capture card. In either case the video must be decompressed for viewing which is either CPU intensive or requires a video card which has hardware decompression and is supported by the PVR software.
Finally, the guide data can either be provided by the PVR software vendor, from a third party vendor like SchedulesDirect, or from data embedded in the OTA signal (the quality of this data is very location dependent).