For customizing sectional units you can use the sectsty package (for relatively "minor" changes) or the titlesec package; for customizing list-like environments, you can use the enumitem package; both enumitem and titlesec are very well documented and the documentations include numerous examples. Here's a little example illustrating the changes you mentioned in your question:
\documentclass{article}
\usepackage{titlesec}
\usepackage{enumitem}
\titleformat*{\section}{\centering\bfseries\Large}
\titleformat*{\subsection}{\centering\bfseries\large}
\setlist[enumerate]{itemsep=-1mm}
\begin{document}
\section{A test numbered section}
\begin{enumerate}
\item First item.
\item Second item.
\end{enumerate}
\subsection{A test numbered subsection}
\subsection*{A test unnumbered subsection}
\section*{A test unnumbered section}
\end{document}

The above approach applies mostly to standard document classes (book, article and report); other classes (memoir or the ones from the KOMA-Script bundle) have their own mechanisms; it should be noted, for example, that memoir or the KOMA-Script classes and titlesec are incompatible (See About memoir and titlesec incompatibility and Incompatibilities between KOMA-Script and titlesec).
Just for completeness's sake, I'll add one possible solution to both problems mentioned in the question but using the memoir document class. As I said before, now it's not advisable to use titlesec to customize the sectional unit headings, but to use the features provided by the class; I used the article class option and the prdedefined crosshead chapter style to get centered titles for sections (now produced using \chapter) and used \setsecheadstyle to center the subsection titles (now produced using \section); enumitem is still used to customize the enumerate environment:
\documentclass[article]{memoir}
\usepackage{enumitem}
\chapterstyle{crosshead}
\setsecheadstyle{\centering\bfseries\large}
\setlist[enumerate]{itemsep=-1mm}
\begin{document}
\chapter{A test numbered section}
\begin{enumerate}
\item First item.
\item Second item.
\end{enumerate}
\section{A test numbered subsection}
\section*{A test unnumbered subsection}
\chapter*{A test unnumbered section}
\end{document}

Using scrartcl from the KOMA-Script bundle, again using titlesec is not advisable, but you could use \sectfont instead:
\documentclass{scrartcl}
\usepackage{enumitem}
\renewcommand\sectfont{\centering\bfseries}
\setlist[enumerate]{itemsep=-1mm}
\begin{document}
\section{A test numbered section}
\begin{enumerate}
\item First item.
\item Second item.
\end{enumerate}
\subsection{A test numbered subsection}
\subsection*{A test unnumbered subsection}
\section*{A test unnumbered section}
\end{document}

As I used \sectfont, the changes will also affect subsubsections.
Finally, if you want to apply the changes to the amsart document class, you will only have to change the subsection formatting (section titles are centered by deafault in this class); the change can be done by redefining \subsection as implemented in amsart.cls, or using titlesec (as in the first example since titlesec is compatible with the AMS-family of document classes), or by patching this command with the help of, for example, the etoolbox package. A little example (lists have a more tight vertical spacing in this class so I left the modification commented):
\documentclass{amsart}
\usepackage{enumitem}
\makeatletter
\def\subsection{\@startsection{subsection}{2}%
\z@{.5\linespacing\@plus.7\linespacing}{.5\linespacing}%
{\normalfont\bfseries\centering}}
\makeatother
%\setlist[enumerate]{itemsep=-1mm}
\begin{document}
\section{A test numbered section}
\begin{enumerate}
\item First item.
\item Second item.
\end{enumerate}
\subsection{A test numbered subsection}
\subsection*{A test unnumbered subsection}
\section*{A test unnumbered section}
\end{document}

memoir; indeed you can usememoirfor an article. Simple changes to the section headings can be done withsectsty; more complex are done withtitlesec. For lists the reference isenumitem(which you're already using). You might consult the "Breve guida" where some frequently used packages are described (in Italian). – egreg Jun 08 '12 at 09:17titlesec, it looks kind of complicated but I guess I'll have to look into it deeper now... :) – Alenanno Jun 08 '12 at 09:22scrartcl. It is well documented in the documentation scrguide (German) or scrguien (English). – Marco Daniel Jun 08 '12 at 09:23texdoc scrguien– Marco Daniel Jun 08 '12 at 10:31texdoc scrguienon your system. However, the question, in the present form, doesn't seem to be answerable because it's too broad. – egreg Jun 08 '12 at 10:32\setuphead[alternative=middle], decrease the spacing between items by saying\setupitemize[inbetween={\blank[small]}], etc. – Aditya Jun 08 '12 at 15:03