$$ is TeX primitive syntax, which, as others have commented is hard to redefine (in classic TeX there is no command name which triggers entering or leaving display math).
LaTeX doesn't officially support $$. The most noticeable failure if you use the syntax is that the fleqn option will no longer affect the display of the mathematics, it will remain centered rather than being set flush left.
However if you are using \[ it is best to use the amsmath package (it is best to load this package if doing any serious mathematical layout with LaTeX).
\[ is a short form of \begin{displaymath} which one might expect to act like an un-numbered form of \begin{equation}. The amsmath package redefines \[ to be \begin{equation*} which is exactly an un-numbered form of the equation environment as defined by that package. In the core LaTeX definition \[ has the definition
\ifvmode
\nointerlineskip
\makebox[.6\linewidth]{}%
\fi
$$
which means that the spacing if used between paragraphs is better that a primitive $$ (which causes a blank paragraph just consisting of the indentation and parfillskip glue to be inserted before the display) but it is inconsistent with equation and always uses \abovedisplayskip rather than \abovedisplayshortskip. In the AMS versions the spacing is more consistent,
\begin{equation*}over\[, because it feels more semantic and makes the source more human-readable. But I really don't know, is there any difference between these two? – Juan A. Navarro Jul 28 '10 at 20:48lineno, there is a difference... why doesnt lineno number a paragraph when it is followed by an indented equation – David Aug 15 '11 at 21:07linenopackage redefines\[…\]? Well, seeing as this is peculiar to that package, if you really want an answer you should probably post a separate question. (I can't help you with it, sorry.) – Harald Hanche-Olsen Aug 17 '11 at 11:57