Intuition behind auto/cross-correlation I am really having trouble understanding the intuition behind autocorrelation. I mean why are we even calculating a correlation of some series with itself? Can anybody explain it in lay terms with an everyday example from life? 
Also, I see that while calculating the ACF, we have to take lags.  But how does one know in advance how many lags to take so as to make them correlate better? 
 A: Your second paragraph, in a sense, hints at a answer to the first. In time series processes, where you are at point $t$ is partly dependent on where you were just recently, at point $t-1$. Observations in a time series are not independent in most cases. Whether your behaviour is driven or chaotic, you cannot just easily escape the position you were at immediately preceding time $t-1$. If a second ago you were in your kitchen you can't find yourself next moment in any place of you home with equal probability: you are likely to be somewhere still around your kitchen. Time series has "sliding memory". No wonder that it almost always has considerable autocorrelation with itself by lag 1.
Greater lag usually relaxes the autocorrelation since "memory" for the past vanishes. But if the behaviour is cyclic to some extent, with period $p$, you find yourself at $t$ close to where you were at $t-p$. Thus, the autocorrelation with lag $p$ will be strong enough, stronger than with lag $p-1$ or lag $p+1$. Autocorrelograms (ACF) and partial autocorrelograms (PACF) are the main tools to detect autocorrelations with various lags.
Cross-correlations are similar to autocorrelations, only here a time series is correlated not with itself (with a lag) but with some parallel time process (with a lag, lag might be 0).
Auto/cross correlations extend from time series to any series. A series of observations is their sequence. Are observations not random in that they are tied in a chain or in rings? Examining autocorrelations may discover it.
A: One reason I've used auto-correlation is to determine how often I should sample a time series.  I run simulations that produce time series; I store the value of the output every so often so that I can determine, e.g., the mean of the time series.  There is generally no point in storing consecutive values of the time series since consecutive samples of the time series won't be independent and so won't reduce my estimation error.  Only if I wait until the series has decorrelated can I take an independent sample of the time series (possibly eliding some subtleties).  Put another way, given that I've sampled a time series to calculate its mean, I need to know the auto-correlation time to determine how accurate my estimates will be: assuming that the standard error goes down like $1/\sqrt(N)$ will only work if the samples are independent.  
