Seems both will produce another step. there is no difference? Thanks
First of all you need to see whether you are performing these operations for a continous time signal or discrete time signal.
Sampling theorem says that multiplication of a signal $x(t).\delta(t)$=$x(0).\delta(t)$ provided $x(t)$ is continous at $t=0$. But here in your question $x(t)$ is a unit step function which is not continous at $t=0$. Hence the multiplication of $\delta(t).u(t)$ is not defined.
In the discrete case the same property is $\delta[n].x[n]$=$x.\delta[n]$ and there is no question of continuity as signal is discrete. In this case your question can be written as $u[n].\delta[n]$=$u.\delta[n]$=$\delta[n]$ as $u$ is equal to 1.
Now the convolution property says that $x(t)*\delta(t-t_0)$=$x(t-t_0)$ where $*$ is denoted here as the convolution operator. In your question this would be $u(t)*\delta(t)$=$u(t)$ which is nothing but unit step function for continous time.
The same is true for discrete signals i.e.$x[n]*\delta[n-n_0]$=$x[n-n_0]$. So for discrete case your question would be $u[n]*\delta[n]=u[n]$ which is a unit step function for the discrete case.
You can look at comments of Matt below my answer for better clarity.