The definition of a submanifold of $\mathbb{R}^n$ I was given is the following:
A subset $M \subseteq \mathbb{R}^n$ is called an $m$-dimensional submanifold of $\mathbb{R}^n$ if for every point $x \in M$ there exists an open set $U \subseteq \mathbb{R}^n$ containing $x$ and an open subset $V\subseteq \mathbb{R}^n$ together with a diffeomorphism $\phi$ from $U$ to $V$ such that $\phi(M \cap U)=V \cap (\mathbb{R}^m \times \{0\})$ with $0 \in \mathbb{R}^{n-m}$.
I don't quite see why this captures the notion of "a manifold of dimension $m$ locally looks like $\mathbb{R}^m$". If I was asked to make this notion rigorous, I'd define a submanifold of $\mathbb{R}^n$ as follows:
A subset $M \subseteq \mathbb{R}^n$ is called an $m$-dimensional submanifold of $\mathbb{R}^n$ if for every point $x \in M$ there exists an open set $U \subseteq M$ in the subspace topology and an open set $V \subseteq \mathbb{R}^m$ which is diffeomorphic to $U$, that is there exists a diffeomorphism from $U$ to $V$.
Is there a difference between the two definitions? Isn't $\mathbb{R}^m \times \{0\})$ diffeomorphic to $\mathbb{R}^m$? Does it have something to do with wanting the Jacobi-matrix of the diffeomorphism to be invertible?