Saving data from a HasAndBelongsToMany (HABTM) relationship with CakePHP is not the easiest part of using this framework. Just have a look at all the related questions in Stack Overflow or dedicated forums... The main difficulty is that the format of HABTM data is not the same wether you want to associate existing records together (only update entries in the join table), or create new records and also associate them (create new records in the models table and in the join table).
In addition, they are both different from the data format returned by a find() operation which, for all others associations, can be directly used as such with the save() method.
So you have to be extra careful to choose the right data format depending of which use you are considering.