As Lazer stated:
If you are an Asylee/Refugee without a GC, you will need to obtain a visa from a Canadian Consulate. If you show strong ties to the USA and have sufficient funds in your bank accounts, they will issue you a visa. (Keep in mind, this is regardless of whether or not you are traveling by air, sea, or land.)
If you are a GC holder (regardless of how you obtained it), you DO NOT require a visa to enter Canada. You do require a passport or travel document IF you are using a commercial carrier. This means that if you are traveling by plan, chartered bus, train, or cruise ship - you will need a passport/travel document. BUT if you are traveling in a private car and are crossing the border, you just need your GC.
Hope this makes sense.