Actually a roofing company generally provides all the roofing services that are needed to complete a roof. A roofing contractor will not usually perform other types of construction work not related to actual roof work.
A roofing contractor may offer roofing services that are related to the roofing job such as a maintenance program or inspections. If they are putting on your roof they will generally do the work on your gutters or fascia board or metal flanges or the flashing or soffits.
If you have a metal roof on a commercial building they will offer roofing services like a recoat of material or perhaps an UV coating or paint coat.
There is one type of service some roofing contractors will offer you that you do not want. That is the services of that type of contractor who appears after a heavy rain or wind event. This person may say they are a sales person for a roofing company who just happens to have some extra shingles on the truck roofing contractors.
So could they come by today and replace those shingles that blew off your roof in that wind storm last night. This service will have to be performed immediately or they will have to go on to the next home.
Also they would like to be paid n cash by the way. And no they will not have any real references but they may have you make a few phone calls to people who are expecting the call and are also in on the scam who are very willing to tell you how great this roofing contractor is.
This roofing contractor will not have a license and this is a limited time or one time deal just for you. They often call on the elderly who cannot get out to see if their roof really needs repair.
The price may be cheap but the work performed is also cheap. Those new shingles may be flying off the roof during the next mild wind.
Your best bet is to call a local company or even ask the city hall for recommendations. Most roofs require a permit so the city planners or permit section may have some names. You can also ask your neighbors for a roofer if they used one in the past.