When landing at a controlled aerodrome, air traffic control will automatically close the flightplan once the flight has safely arrived. The pilot does not have to do anything in this case. The majority of commercial flights take place at controlled aerodromes, which is probably what makes you think that pilots never close their flightplans.
If landing at an uncontrolled field (that is, one without a control tower), however, the pilot will either close the flightplan by contacting a nearby ATC station on the radio before landing, or via telephone after landing.
This applies equally to IFR and VFR flightplans, to big passenger jets and small one-person GA aircraft. If the destination airport — any airport of any size — has an operating control tower at the time of arrival, they will close your flight plan. If the airport does not have a control tower, or the tower is closed at the time, you have to contact another ATS unit to have it closed.
This is actually very logical when you think of it. When you are on a flightplan, you are automatically provided with alerting service. Meaning that if you do not arrive on time, people will start looking for you. If you are landing at an aerodrome with a control tower, the tower is responsible for your alerting service. They have your ETA (based on your FPL EET and ATD) and will initiate a search and rescue operation if you are late. If flying to an uncontrolled aerodrome, some other ATS unit (for example an area-wide flight information service) is responsible for your alerting service, so they are the ones who need to initiate search and rescue if you do not arrive on time.
Now think of this: if landing somewhere with a tower, the tower obviously knows when you land (they clear you to land, after all, and their job is to look at the runway). Thus, the tower knows that you have landed safely and that alerting service can be cancelled.
However, if landing somewhere without a tower, where another unit (not on-site) is responsible for making sure you land safely, how would they know that you have landed? The only way to be sure is for you to call them up on the radio or telephone to let them know that you have safely arrived. They will then file the arrival time to note that you have arrived safely and no search and rescue needs to be initiated.
And this is essentially what "closing a flightplan" is - it actually just means that your arrival time is sent to whichever unit is responsible for your alerting service. It's not that your flightplan is actually "closed" or "deleted" from some system, it just means that your arrival time is filed so that everyone knows the flight has landed.