From Apple Reference
speed
The instantaneous speed of the device in meters per second.
@property(readonly, NS_NONATOMIC_IPHONEONLY) CLLocationSpeed speed
Discussion
This value reflects the instantaneous speed of the device in the direction of its current heading. A negative value indicates an invalid speed. Because the actual speed can change many times between the delivery of subsequent location events, you should use this property for informational purposes only.
Special Considerations
In iOS, this property is declared as nonatomic. In OS X, it is declared as atomic.
Availability
Available in OS X v10.7 and later.
Declared In
CLLocation.h
Does not sound like Apple considers it to be accurate. Nor is it.
EDIT -- Here's a related question same problem and some suggestions.