Blade makes all the diffeerence, and, I would check the alignment of the fence with the blade. If you've never checked it, it is likely out of adjustment.
Less likely, but I'd check it out anyhow, check that the blade is aligned with the miter slot. Look up how to measure run out, which is a small wobble in the blade as it rotates. Clean the arbor and the surfaces that touch the blade before you check runout. You'll need some sort of gauge to get it exactly right.
This is in part what Stick was speaking about when he said be fussy with your setup. If you don't have a Wixey to check blade angle, I'd get one. Learning to be fussy about all these things Stick was pointing out changed the quality of my work considerably. Last year I replaced my old Delta contractor saw with a Laguna Fusion, and the difference in what it produces and what I had is amazing.
As for blades: For ripping I use a Freud LM74R010 10-Inch 30 Tooth TCG Glue Line Ripping Saw Blade, about $ 75 on Amazon. Smooth as the proverbial baby's behind. For fine cross cutting, I have an 80 tooth Freud blade that is particularly good on flat goods.
For general use, I mount the Freud D1050X Diablo 10-Inch 50-tooth ATB Combination Saw Blade. Versatile blade makes clean cuts. I'm all Freud because the HD is the nearest store. Have also been thinking of trying an Irwin Marple blade, but good blades cost plenty and I'm happy with the Freuds mentioned.
Tuning up your tools takes some time, but the difference it makes is worthwhile learning how to do it. Caution, woodworking with well tuned tools is addicting.