How does 'CONCATENATE_SCRIPTS' work on wp-config?

First of all, nice question.

CONCATENATE_SCRIPTS is the constant that tells wordpress to, well.. concatenate all of the dependencies into one URL and load it together ( to save http requests I guess ).

As far as I know, it applies only to the Admin area ( back end ). The result is a url like

<script src=",jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,hoverIntent,common,jquery-color,wp-ajax-response,wp-lists,jquery-ui-resizable,quicktags,jquery-query,admin-comments,postbox,dashboard,thickbox,plugin-install,media-upload&ver=e0f647a6df61adcc7200ce17a647db7f" type="text/javascript">

This is the normal default behavior, and if you have problems with it, it is probably because of some javascript conflict in theme or plugin.

Another possible ( albeit less frequent ) is a browser problem due to TinyMCE caching. clear browser cache. ( edit : was true to Sep.2015 - not verified since but still worth trying )

If you really want to see where it is defined or what is it doing you can look here.

Anyhow, by defining the constant as false you are practically forcing WordPress to load each script on the administration page individually rater than collectively. So in that case - If one script fails to load and work correctly, the others can still continue to operate correctly.

This is a recommended setting for debugging and local development. However, in your case, it is a symptom of a problem, and not the problem itself. you should isolate the problem and fix it ( probably a plugin like said before )

To expand upon Obmerk's answer, in my case setting CONCATENATE_SCRIPTS to false simply enabled me to see the individual failure in the browser console as it then showed the javascript for tinymce was not loading properly. Then looking at server logs showed that wp-tinymce.php was not executing properly. In the end, I needed to fix the permissions of {sitepath}/wp-includes/js/tinymce/wp-tinymce.php so that the security settings of the server I was on would allow it to run.

In my case the server did not allow it to be group-writable so a chmod 755 took care of it. The actual solution will vary based on your server configuration.