The one you linked to (EZFlash 3-in-1) is a GBA expansion cart, and is probably the most recommended one. GBA expansion carts typically don't have thier own microSD card, but rather work in conjunction with a slot 1 flash cart. The GBA expansion cart typically has enough internal memory for 1 game. The games are stored on the slot 1 cart and then sent to the GBA expansion cart to play them.
Some slot 1 carts have direct support for various GBA expansion carts (the EZFlash 3-in-1 and the eWin 2-in-1 being the most commonly supported I believe), allowing you to click on a .gba ROM and run it directly from the menu. Others flash carts require that you run a loader program such as GBA ExpLoader in order to load the GBA file to the slot 2 expansion cart.
The EZFlash 3-in-1 plays GBA games, has a rumble built-in, and works as memory for the browser. The eWin 2-in-1 plays GBA games and works as memory for the browser but doesn't have a rumble built-in (but as another poster mentioned you can buy the rumble in a separate cart for around $4). The eWin rumble happens to be better than the EZFlash one, but honestly rumble sounds far better than it is in reality. Rumble eats up the battery, isn't particularly "rumbly", and is supported by very few games.
There are some slot 2 flash carts that play both NDS and GBA games, but most people prefer slot 1 carts because slot 2 carts require a PassMe in slot 1 to play NDS games (the PassMe essentially tricks the NDS into thinking that slot 2 is slot 1 to load NDS games).
-Bri