Why do we need level logic converter to have 5V or 3.3V?
Because in Arduino Uno/Mega (don't know about other boards), they already provide 5V and 3.3V for us to use.
Level logic converting for level shifting is different from powering a device.
Logic level is the state of a digital input/output. No voltage (or very little of it) is considered
LOW. Over the threshold voltage is
HIGH. On a 3.3V system, if you set pin to
HIGH, it has 3.3 V. On a 5 V system,
HIGH is 5 V.
A digital input pin reads
HIGH once the threshold voltage is surpassed. If the input pin is for 3.3 V and doesn't have 5 V tolerance, feeding 5 V as
HIGH could destroy it. That is why you need level converter from 5 V to 3.3 V.
If the input pin is for 5 V and the threshold voltage is higher then 3.3 V, 3.3 V input will not be read as
HIGH. That is when you need level converter from 3.3 V to 5 V.
You must consult the 3.3 V device datasheet and check if the input pins are 5 V tolerant. You should also check the digital pin threshold voltage on a 5 V device in case you want to communicate with it using 3.3 V.