How Channelization code is shared in HSDPA?
Code-Division Multiple Acess(CDMA)
,If you dig in more about the  Hadamard code you will get to know that it is the best orthogonal available code,To stucy the relation learn more about matched filter,There are various other types of coding like Huffmann Coding
and Shanon-fano Coding

This all account to various courts of Source Encoding, Channel Encoding,Line  Coding(physical layer), Cryptographical coding(Scrammbler,8b/10b ,etc)

first I would Like to address this question.

Q. What does sharing the code through code multiplexing mean. Is it different from code division multiplexing? How is the channelization code shared between different UE using code multiplexing?


Ok.  To start with its motive is to provide channel encryption and encoding in-order to make the code anonymous to other receiver,each user is provided a unique code called Pseudo Code
.

If you have been through the Spread Spectrum Communication you will understand that the bandwidth of these signal is spread so that the total available power goes below and equivalent PSD of noise available in environment.so it provided a cloak to the signal


No you have a deliberately deterministic noise(Pseudo Code) induced in the signal this code which is sent,comes in category of Source encoding.
This code now is transmitted over to the channel now it reaches the user user has specific PN code to its Module which is called UE(User Equipment),and hence he is able to receive his specific message.
*Remember that this code has Orthogonality property ie when multiplied with same code will result in Message S/g i.e a auto-correlation of 1.Hence the each user will receive the code that is meant for him

I remember when Reliance and Virgin first approached the Indian market they went for CDMA,with Pseudo code in UE not in SIM module.

Now lets look at the word multiplexing the usually we use frequency multiplexing in CDMA system but I have also seen less efficient TDM also.


As you can see in the image everyone has there own Spreading code i.e Pseudo Codes.


Channel Coding
There are various type of Channel coding You can read about them here.
Forward Error Correcting Code
Automatic repeat request
and then on basis of design we have 
Block code also called Linear Code
Convolution code these have feedbacks


By using the Viterbi Algorithm we are able to decode the type of convultional ccode used,It is the God of Modern Communication.


1) Why are we giving all of the Channelization codes to one UE. Wouldn't just one suffice?
The Channelization code are kept isolated all the Techniques.I could not still understand what you meant by that,so iw ill answer this as.I would like to change my answer if you can elaborate a little,for now I will take that you meant the information,rather than the channelization code(as Channel code is limited to channel itself the UE don't work on them). 

In FDMA Frequency Divsion Multiple Acess the PN(Pseudo Noise) code is used on a frequency Synthesizer which can generate different frequency for all the Users,Hence each user can get his message without other Interception.

In TDMA systems must carefully synchronize the transmission times of all the users to ensure that they are received in the correct time slot and do not cause interference. 

CDMA can be performed using any of the following method.

3) Out of Time multiplexing and code multiplexing which is better and why and used in which case?

As I loved Spread Spectrum I would say CDMA is better than TDMA,as they provide spread spectrum making you blind to others hence you can do your own thing also CDMA with FDMA uses various frequency band hence there is no need of Synchronizing the Time slots for each channel like in TDMA.

TDMA shares a common frequency band hence you can have any range of communication as long as you are under IEEE standards,Also I have experienced connection breaking in TDMA,While Switching Nodes.But It is very supportive for Battery Life :).

But I would say that it is really a matter of discussion and application,and still people debate of the practicality and relative usefulness of them. 

UPDATE

Q.Why all the channelization code is shared with it. Is it so that it can receive lot such spreaded signal increasing the overall data rate at the UE. But then again cant all the information be spreaded with only one Avaliable PN Code to one UE.

Right.For Understanding the question lets first see what a Code Tree is like
Let me tell you that the code tree is dependent on the convolutional code block you have i.e no of Process variable you are wrking on to create a specific channel code(i.e simply the no of message bits together encoded)

So 
Clearly you can see that the possibility increases,ie you will see that the no of states that occur after a previous state are dependent on the (n-1) variables used to design the convlutional code.
Channel code trees are hierarchical structured code sequences that allow codes to be selected from a table that do not interfere with each other. By structuring the codes in a tree format, lower level codes (branches of the tree) are subsets of upper level codes. When lower level codes are selected, the upper level codes cannot be used(as they are the subset can cause conflict).
Hence upper Code in Revision 9 are uses for R99 non HSPA users,and the lower codes that provide larger speed are used for HSPA users.

Please if you study Code tree you will see that we have predefined states in it here denoted by CC(x,y,z,...) these grows in 2^x shows working on binary data(C(x,y)).Remember these Codes are given values that the total convolution code expression is equal to i.e if C(Conv Code)=A xor B xor C Xor....,where A,B,C,D are message bits together form a Logic this Logic is evaluated at each branch end..hence (C(1) you will have 1bit length  logic)as you move over to more branches this code will expand to form a SEQUENCE which is specific(as earlier said the will be subset of upper codes)

Hence for (Spreading Factor)SF-16 you will have a Four digit Channel Sequence,similarly for  SF-512 you will have 9 bit sequence

So overall you will have more codes,more possible users,There are major improvement made in each release.
The main thing you must know is HS-DSCH
here is a phrase of it from wiki.

The HS-DSCH downlink channel is shared between users using channel-dependent scheduling to make the best use of available radio conditions. Each user device continually transmits an indication of the downlink signal quality, as often as 500 times per second. Using this information from all devices, the base station decides which users will be sent data in the next 2 ms frame and how much data should be sent for each user. More data can be sent to users which report high downlink signal quality.

The amount of the channelisation code tree, and thus network bandwidth, allocated to HSDPA users is determined by the network. The allocation is "semi-static" in that it can be modified while the network is operating, but not on a frame-by-frame basis. This allocation represents a trade-off between bandwidth allocated for HSDPA users, versus that for voice and non-HSDPA data users. The allocation is in units of channelisation codes for Spreading Factor 16, of which 16 exist and up to 15 can be allocated to the HS-DSCH. When the base station decides which users will receive data in the next frame, it also decides which channelisation codes will be used for each user. This information is sent to the user on one of up to 4 HS-SCCHs, which are not part of the HS-DSCH allocation previously mentioned, but are allocated separately. Thus, for a given 2 ms frame, data may be sent to a number of users simultaneously, using different channelisation codes.

Why all the Channelization Code to one user
Well with developed UE you know have 64QAM in your phone much faster,hence they have total 64 symbols to represent data stream,with help of code tree and algorithms you can determine the next pertaining code hence this provide fast scheduling of packets,to make the undergoing algorithm better more process variables are provided(that is more codes).

That's All I know of that,I haven't really keeping track with 3gpp documents now.