Generally true Hussam, but not always.
If a datasource fails polling some points but not others, it will only update the times of those it successfully polled. Or, if the entire poll fails, no timestamps will be updated. The timestamp displayed for a point on the data point details page does reflect the cache's perspective, meaning what the value of a point is and when that value was reported last. Other ways of accessing data can get you timestamps that reflect those which will ultimately be logged in the database.
For example, compare two meta scripts being run on a point receiving 1 second updates, but not always changing (I used a virtual binary point on random): It is set to log on change.
return new Date(p1.time); //returns the date of the last update
return new Date(p1.lastValue(0).time); //returns the date of the last logging