To me a "professional" is someone who gets paid for a particular skill or unique knowledge.
For example, if someone pays me $5 to sweep a floor, or $20 to mow a yard, that doesn't make me a professional. Virtually anyone can do these jobs, no specific skills are needed.
However, if I have developed specialized floor cleaning techniques, or excel at maintaining, fertilizing, and improving landscapes, I'm probably a professional. Especially if I have previous satisfied customers.
You don't need a college degree, expensive tools, or fancy clothes to be a professional, and it has nothing to do with the amount of money you earn. A professional simply gets paid for a skill or knowledge the average person does not have.
Of course, just because you are a professional doesn't mean you perform quality work. I've seen some really shoddy work that was done by "professionals", and really amazing work done by "amateurs".
For the most part, professionalism comes with experience. I wouldn't consider a new college graduate with a bachelors degree a professional their first day on the job. But a single mom with a GED who started her own plumbing business six years ago would certainly be a professional. Or a young guy who fiddled with computers as a hobby and decided to turn it into a job could certainly be considered a professional. They both developed skills that others are willing to pay for.