The frictional force in a motion of a rolling body is along the direction of motion. Then what stops the motion of a rolling body?
The real reason behind the stopping of a rolling ball is actually a small deformation that takes place at the point of contact. When ever a ball rolls, a small flattening happens. So it is better to say 'area' of contact rather than point of contact. The normal forces vary minutely over the area of contact. The part of the area in the direction of motion experiences more normal force in comparison to the area behind it. This happens because the ball actually pushes the floor a little bit in the forward direction. Now, the net force of this normal forces slightly deviates from the centre of rotation of the ball resulting in a torque against the rotation and thus gradual slowing. The reason is evident from the fact that a harder ball rolls longer than a softer ball of same weight and size. Hope you found it useful buddy..
First of all static friction need not be in the direction of the velocity. But more importantly, there is a separate kind of friction called as rolling friction that slows down rolling. It arises because in real life, app bodies are deformable. The bottom of a rolling object flattens due to the weights of the object, causing the object to experience friction.
Consider the lowermost point of a circular body. When it starts rolling, the lower most point of the body moves backwards and since friction is a force that opposes motion it starts acting the opposite direction of the moving point that is in the forward direction which is in turn also the direction of the motion of the whole body.
Now imagine you push the circular body forward so it starts rolling forward, which causes the lowermost point to move backward and since friction acts on it the body slows after some time.