From your original description it wasn't clear that you need any packages, but I give an example using tabulary (tabularx's younger brother) where the column widths are chosen automatically.

\documentclass{article}
\usepackage{tabulary}
\begin{document}
\begin{tabular}{|p{2cm}|p{3cm}|p{2cm}|}
\bfseries\centering some bold words here&
\bfseries\centering and yet more bold&
\bfseries\centering heading for third column\tabularnewline
\hline
normal weight words go here normal weight words go here
normal weight words go here normal weight words go here
&
different words go here different words go here
different words go here different words go here
different words go here different words go here
&
and this is the third column and this is the third column
and this is the third column and this is the third column
and this is the third column and this is the third column
\end{tabular}
\bigskip
\noindent\begin{tabulary}{\textwidth}{|J|J|J|}
\bfseries\centering some bold words here&
\bfseries\centering and yet more bold&
\bfseries\centering heading for third column\tabularnewline
\hline
normal weight words go here normal weight words go here
normal weight words go here normal weight words go here
&
different words go here different words go here
different words go here different words go here
different words go here different words go here
&
and this is the third column and this is the third column
and this is the third column and this is the third column
and this is the third column and this is the third column
\end{tabulary}
\end{document}
tabularxto have columns with line wrapping a standard latex tabularpcolumn will allow that. Why can't you just start each cell in the first row with\bfseries. – David Carlisle Oct 05 '12 at 16:38