so could u please explain the different between constant current and constant voltage and how constant current Driver Work ?
Forget about the driver. What you need to understand is how the LED works. Once you understand the LED, it will be obvious why you need a certain approach for the drivers.
Any time you place a load on a voltage source, the properties of the load determine what happens, i.e. how much current it pulls from the voltage source. Many loads people are familiar with (i.e. a normal incandescent lightbulb) behave in a way that is linear. What this means is, change the voltage by x amount and you can expect a change of the same scale in the current. If you were to graph this it would look like a straight line at some constant angle.
LEDs do NOT behave linearly. Basically, they act like floodgates. As you increase voltage, very little current flows, until you hit a certain minimum point, at which case LOTS and LOTS of current starts flowing. The I/R curve is almost horizontal, and then in a little narrow range it switched to almost vertical:
The plain English message here is this: once an LED is lit, VERY small changes in voltage will translate to VERY large changes in current.
When you're driving a LED, what you're trying to do is basically control the total power through the LED. LEDs fry when there's too much power put through them. Because the I/R curve gets very, very steep once the LED is on, small changes in voltage mean very large changes in power (following an exponential curve), while small changes in current mean very small changes in power (following a linear curve).
Hence, if you're trying to precisely control the total power, it's very hard to do that by controlling voltage. But, it's very easy to do that by controlling current. Hence, most approaches to driving LEDs are constant current (meaning, the driver is regulating to a nominal current) instead of constant voltage (meaning, the driver is regulating to a nominal voltage).
That's the most important part of the concept, but there are really two other factors that make it even more critical.
First, look at the datasheet for those LEDs. Typical voltage at 350mA is 2.85. Max voltage at 350mA is 3.4. When Cree publish those numbers, they're not telling you a specific LED will happily burn 350mA at any voltage in that range. Instead, they're admitting that their product is HIGHLY variable. One XT-E might require 2.85v to pull 350mA, while another XT-E might take 3.4v. This is why it's dangerous to run on a constant voltage source without experimentally measuring conditions for every single LED in your array. If you plan your array with the assumption that the LEDs will run at 350mA with 3.4v but then you end up getting LEDs that only need 2.7v to run at 350mA, you'll be thousands of milliamps above your target current (remember, it's a very steep curve!)
The second additional factor is that LEDs are not very stable. The performance curve shifts under different conditions (mostly, temperature) and as the LED ages it'll shift permanently. So if you build an array and measure that a given LED is running at 350mA with only 2.85v when it's cold, you might find it's running at 400mA with 2.85v once it's heated up.
The inaccuracy of the voltage spec and the fact that it's not constant under different conditions both reinforce the approach of using constant current. If you're driving with constant current, neither of these factors are a problem, because the driver just adjusts it's output voltage to maintain the current you want.
All that said, there's nothing that says you can't run LEDs on a constant voltage source, as you discovered with your knockoff LEDs. When you experimentally measured voltage and then adjusted the array, you were basically accomplishing a similar task to what a constant current LED driver would do. Except, when doing it, you're risking blowing the LEDs and/or finding out that things have changed over time. Since most people who use HP LEDs on fish tanks are using very expensive, high end LEDs and running them close to their designed limits, this approach is very risky. Possible, but risky. When you combine that with the fact that a "proper" constant current driver isn't really that expensive, it's an easy choice for most people.
A buck DC-DC LED driver basically requires an input DC voltage higher than what you expect the LED array to use. It steps down ("bucks") the voltage to keep the current at the preset value. The two you linked are indeed buck drivers, but when most people in the hobby hear "buckpuck" they're thinking of the LuxDrive product:
The two you linked would probably work, but you'd need to be very careful when setting them up as they both have extremely high maximum currents - you'd want to ensure you had the current turned way down and adjusted it up carefully while testing.