url changes the font but you can set it to default to serif to match \href:
\documentclass{book}
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue}
\urlstyle{rm}
\begin{document}
url: \url{www.yahoo.com}
href: \href{http://www.yahoo.com}{www.yahoo.com}
\end{document}

Note that \urlstyle{} is from url which hyperref is loading. (You can use url without hyperref - something I often do, in fact.) I can't see anywhere this is really explained in hyperref's documentation but I only searched the PDF manual and there is a lot more of it so no doubt it is covered somewhere.
Update
If you would prefer the style produced by \href to match the \url default - or if you would like both of them to use a different style, such as sans serif - you can use \url{} to format the link text produced by \href{}:
\documentclass{book}
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue}
\urlstyle{sf}% sans for a change
\begin{document}
url: \url{www.yahoo.com}
href: \href{http://www.yahoo.com}{\url{www.yahoo.com}}
\urlstyle{tt}% back to url's default
url: \url{www.yahoo.com}
href: \href{http://www.yahoo.com}{\url{www.yahoo.com}}
\end{document}
