Use image as label for itemize

TeX doesn't track the nesting of brackets as it does for braces.

When you nest braces

{.... { .... } ....}
1     2      2     1

then TeX knows which pairs belong together. This doesn't happen for brackets. Here the code simply looks for the next closing bracket. So TeX will pair them like this

\item[\includegraphics[width=0.5cm]{example.png}]
     1                2           1

and your command breaks. To avoid this, you can hide the inner bracket in a brace group:

\item[{\includegraphics[width=0.5cm]{example.png}}]
     1{                2           2             }1   

Since you use the same image at all items, it may be easier to modify the \imagebullet macro as you wish, then just insert [\imagebullet].

\documentclass{article}
\usepackage{graphicx}

\newcommand{\imagebullet}{$\vcenter{\hbox{\includegraphics[width=0.5cm]{example-image}}}$}

\begin{document}
    \begin{itemize}
        \item[\imagebullet] This works
        \item[\imagebullet] This also works 
    \end{itemize}
\end{document}

enter image description here