You might have an air or a vacuum leak. This is very common! Open the hood and listen for a hissing sound when the engine is running.
Unmetered air can enter the engine through a vacuum leak, a dirty airflow sensor that is not reading airflow accurately, an EGR valve is not closing and is leaking exhaust
into the intake manifold, an EGR valve that is allowing too much flow.
If it is hard to pinpoint take some brake
cleaner or starting fluid around the intake manifold and vacuum lines and see if the engine stumbles or if the idle is affected. Be extremely careful when doing this!
Also, your throttle body may be carboned up and need to be cleaned! This can cause all sorts of idle and hesitation problems. This is caused by the throttle plate not seating properly. The First thing i would do is clean out the throttle body with some throttle plate and intake cleaner and a small brush.
Check for air leaks in the Air Induction system (e.g., in the intake manifold)
Check for air leaks in the PCV system and in its related hoses and/or valve
Idle air inlet passage or throttle bore is dirty or full of deposits
Throttle plate, throttle shaft or linkage is damaged or sticking
TP sensor is out-of-range or "skewed" high