Cross correlation doesn't always have it's peak where the "lag" between two signals is, as a little thought will reveal. It shows you the sum of the multiplication of the overlapped terms as one signal slides past the other. For example if one signal has high values somewhere in one segment, but otherwise looks pretty much the same (just shifted), your peak correlation value won't be at the lag you think it should be. It might show you where the high values are, not where the bulk of the signal overlaps best.
There is another concept called normalized cross correlation you might want to look at. There is a 2-D version in the Image Processing Toolbox, normxcorr2(), and I attach an example for finding a template in a 2-D color image. I don't know if there is a 1-D version but often image processing functions will work on 1-D signals as well as 2-D signals.