Yikes! It is a fallacy to assume that all LEDs "rated" at 3.3V in the parts search matrix have an integrated resistor! The example linked above is a for a family of LEDs intended to be driven from 12V, most likely for automotive applications and would not pertain to the typical device interfaced with a platform like the R-Pi. Any lower voltage to that specific family would result in significantly dimmer operation and the Blue version would likely not light up at all with a 3.3V supply or GPIO.
Now, here's the thing. Diodes are made from different semiconductor materials.The light wavelength(color) given off is related to something called the "Band Gap" which more or less dictates the voltage required to create enough energy to expel electrons from their quiescent state. Perhaps more accurately, it's the voltage required to "switch" the diode on, the current flow then exciting the electrons out of their shells/states(the so-called "shell" is not so much a dimensional construct). It is in fact, the return of these electrons to their normal state that causes the excess energy to be shed in the form of a photon(or light "particle/wave/thingy"). The band gap is a function of the semiconductor material used as well as doping materials and concentrations.
Up until the late nineties/early aughts, the only mass producible LED colors were from the InfraRed range of the spectrum though a Yellow-Green color and even those colors were less "pure" than we can do with todays fabrication tolerances. The Blue LED was invented many years prior to it's commercialization, but was simply too expensive to produce and even the first ones to market(The Silicon Carbide formula IIRC) cost something like $3 per LED at a time when Red or Green ones were maybe in the $0.15 range or so.
OK back to diode properties, as it stands, the shorter wavelength LEDs are simply made with semiconductor materials which end up having a higher band-gap voltage in order to generate visible light of those colors. Of course, the end user doesn't need to set the forward voltage of the diode. It's properties will cause the voltage to "switch on" to it's intrinsic Vfwd as long as the initial applied voltage is higher than that threshold, but if the supply voltage is significantly higher, then an unregulated amount of current will flow(in the ideal textbook case it would be infinite, but of course the real world has non-zero resistance in the supply/battery, wires or traces, and even the diode itself has some ESR(Equivalent Series Resistance). Also the supply or GPIO has some limit of deliverable currrent.)
So, the initial "rough-in" design is to assume a drop across the diode of it's rated Vfwd, subtract that from the supply voltage, and apply Ohms Law to determine the resistor value needed to cause the desired current flow through the diode.
Now back to the 3.3V LED from a 3.3V supply/GPIO issue. In the real world, few components have truly "static" parameters(even a resistor changes with temperature). The Vfwd specified in the tabular portion of the datasheet is usually either the nominal or maximum value and is also sometimes specified at the rated max continuous current. For example 20mA is a common current rating for discrete LED indicators(as opposed to ones used/intended for significant illumination/lighting). So a Blue LED may be rated as 3.3V/20mA, but that doesn't mean that it gives off no light below either 3.3V or 20mA. That rating is usually somewhere near the LED's peak brightness rating that can be safely sustained without damaging the component. Look further into the datasheet and you'll find, well...., more data! The data you want to find is the relationship between Vfwd vs current as well as brightness vs current.
Since today's LEDs are much brighter than the ones of yore, unless you're intending to use the LED for significant illumination(in which case you're certainly NOT going to be driving it from a GPIO!), you'll be happy, or even less blinded, by the intensity given off at a small fraction of the max rated current. Most uses target such LEDs are in the 2mA-5mA range, especially if the 20mA brightness rating is in the 100mcd order of magnitude. What you'll likely find is that that 3.3V Blue LED has a VFwd more like 2.8-3.0V in that 2-5mA driving current range and will illuminate just fine. In fact many vendors will "screen" parts from their 20mA families to separate parts/batches that are significantly brighter at these lower(10/5/2/1)mA currents and sell them at those ratings(the pricing is somewhat higher as the screening incurs an additional process step). However, you'll probably find that "under-driving" a 20mA LED will provide more than enough brightness.
What is usually done, for any device/product that has multiple voltage rails, is to arrange the LEDs in a "current-sink" configuration so the node being switched is at the LED Cathode and not the Anode and to use a marginally higher(usually 5V or even a dedicated 4V "Vled" supply to reduce linear power waste) to drive all of the LED anodes in the system. You'll notice that most dedicated LED Driver matrix chips and LED Shift Registers all utilize sinking outputs and use a single current setting resistor(and internal current mirrors) to control the drive strength of 8, 16, or even up to 48 or more LEDs! Driver chips made for RGB LEDs may have three current set resistors or internal register settings to accommodate the different forward voltage thresholds of Blue, Green, and Red elements. One thing to note is that newer "true" green LEDs as well as the green element of an RGB array are more like Blue LEDs in their semiconductor makeup and are usually just a couple tenths of a volt lower VFwd than their Blue counterparts(2.7-3.0V vs 3.0-3.3V). It makes sense that you need more energy(voltage) to generate higher frequency(blue-er color) light.
Finally, despite all of the above complexities(special driver chips or registers and dedicated LED supplies), for a handful of simple indicators driven directly from 3.3V MCU GPIOs with no access to a 5V rail, just choose components that are bright enough(say 30-ish mcd - I won't get into color perception here!) at 2-5mA and use them to "sink" the cathode current directly. Of course this has the software implication that a logic zero bit is the "ON" state. But that's just a matter of "typing"! This can also be a good thing as many MCUs reset their GPIO to a weak pull-up state and that can cause all the LEDs to be lit dimly while in reset or until firmware initializes the GPIOs used for them.
Be mindful of the GPIO's max continuous current capability(often times, rated sink current will actually be higher than sourcing current - another reason to sink instead of source directly connected LEDs). Also, sometimes an MCU will have a handful of dedicated pins or a special GPIO "port" that is rated for higher current draw(in the 20-25mA range) along with the remaining GPIOs which are usually rated for at least 4mA in case you need a couple of bright LEDs to be directly driven(or for relays or even just to achieve higher slew rates on capacitive loads). Alternatively, just add a BJT or FET switch(N Type for sinking) to allow for higher current draw(the new limiting factor being the transistor's rated current, which is often much higher). This also has the benefit of restoring the conventional "1 is ON; 0 is OFF" software "polarity".
Sorry for the long post on a years old question, but I'm hoping this will have educational value to any newcomers who stumble across this topic!